8.生成器以及一些应用

生成器

def yasuo():
    for i in range(2000000):
        yield '亚索%s'%i
g = yasuo()
count = 0

for i in g :
    count += 1
    print(i)
    if count > 50:
        break
# print('******',g.__next__())
for i in g :
    count += 1
    print(i)
    if count > 100:
        break

监听文件输入的例子

def tail(filename):
    f = open(filename,encoding='utf-8')
    while True:
        line = f.readline()
        if line.strip():
            yield line.strip()
g = tail('file')
for i in g:
    if 'python' in i:
       print('***',i)

 

posted @ 2018-10-03 21:53  Final-illusion  阅读(71)  评论(0)    收藏  举报