使用yield生成器,用Python實現用戶對用戶輸入信息的監聽和過濾
阿新 • • 發佈:2019-04-27
所有 file line adl 語句 pytho open UNC 函數
# -*- 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)
使用yield生成器,用Python實現用戶對用戶輸入信息的監聽和過濾