使用yield生成器,用Python实现用户对用户输入信息的监听和过滤

# -*- coding:utf-8 -*-
''''''
'''
生成器是一次生成一个值的特殊类型函数。
可以将其视为可恢复函数。调用该函数将返回一个可用于生成连续 x 值的生成【Generator】,
简单的说就是在函数的执行过程中,yield语句会把你需要的值返回给调用生成器的地方,
然后退出函数,下一次调用生成器函数的时候又从上次中断的地方开始执行,
而生成器内的所有变量参数都会被保存下来供下一次使用。
'''
def func(readfile):
g = open(readfile,encoding='utf-8')
while True:
line = g.readline()
if line.strip():#判断line.strip()是否为空
yield line.strip()#用生成器得到一个特殊的值

g= func('file')
for i in g:
if 'python' in i:#过滤没有带'python'的输入
print(i)
# -*- coding:utf-8 -*-
''''''
'''
生成器是一次生成一个值的特殊类型函数。
可以将其视为可恢复函数。调用该函数将返回一个可用于生成连续 x 值的生成【Generator】,
简单的说就是在函数的执行过程中,yield语句会把你需要的值返回给调用生成器的地方,
然后退出函数,下一次调用生成器函数的时候又从上次中断的地方开始执行,
而生成器内的所有变量参数都会被保存下来供下一次使用。
'''
def func(readfile):
    g = open(readfile,encoding='utf-8')
    while True:
        line = g.readline()
        if line.strip():#判断line.strip()是否为空
            yield line.strip()#用生成器得到一个特殊的值

g= func('file')
for i in g:
    if 'python' in i:#过滤没有带'python'的输入
        print(i)

  

猜你喜欢

转载自www.cnblogs.com/xcq7314/p/10779339.html