1view code#用生成器實現處理檔案,使用者指定要查詢的檔案和內容,將檔案中包含要查詢內容的每一行輸出到螢幕23
deffunc(filename, fileinfo):
4 with open(filename, mode='
r', encoding='
utf-8
') as f:
5for line inf:6
if fileinfo in
line:
7yield
fileinfo
89 filename = input("
請輸入檔名:")
10 fileinfo = input("
請輸入要查詢的內容:")
1112 g =func(filename, fileinfo)
1314
for i in
g:15
(i.strip())
1617
1819
2021
#寫生成器,從檔案中讀取內容,在每一次讀取到的內容之前加上***之後再返回給使用者
2223
deffunc1(filename):
24 with open(filename, mode='
r', encoding='
utf-8
') as f:
25for line in
f:26
yield
'****
' +line
2728
for i in func1('
text.txt'):
29print(i.strip())
生成器 迭代器
最近見天一直在看廖大的python教程,卻發現很多基礎看著很簡單,但卻不會應用,歸根結底還是因為理解不到位,故而又將教程學了一遍,並將自己的理解記錄一下,也方便後面查閱。由於沒有相關程式設計基礎,有些理解可能是錯的,敬請批評指正。想深入具體學習廖大部落格請移步廖雪峰的官方 有時候用迴圈生成列表太過繁...
迭代器,生成器
迭代器 生成器 生成器的第1種實現方式 列表生成式改為生成器 python中yield關鍵字 函式中如果有yield,那麼呼叫這個函式的返回值為生成器。當生成器g呼叫next方法,執行函式,知道遇到yield就停止 再執行next,從上一次停止的地方繼續執行 函式中遇return直接退出,不繼續執行...
迭代器 生成器
迭代器 iter 可迭代物件 下乙個元素的值 next 可迭代物件 類中實現 iter 方法 提供迭代器 實現迭代器 import time class mylistiter object 迭代器類 def init self,data self.data data self.index 0 def...