1樓:無關風月
我執行你這段程式的結果如下:
looking for python
None
Traceback (most recent call last):
File "yield-example2.py", line 11, in
print(next(g))
File "yield-example2.py", line 6, in grep
if pattern in line:
TypeError: argument of type 'NoneType' is not iterable
解釋:執行 17 行的時候,grep 函式開始執行,列印『looking for python』
接著執行到 12 行,yield 返回 None,程式掛起,17 行的 print 列印返回的 None
執行 18 行,程式從掛起的地方繼續,next 相當於傳進去 None,所以 line 為 None,繼續執行第 13 行,丟擲exception 『TypeError: argument of type 'NoneType' is not iterable』
python生成器到底有什麼優點?
公子半島 一般用情況列表生成器可以直接生成列表,如果列表資料過多,這樣會占用大量記憶體。通過生成器Generator可以生成列表的記憶體位址,從而達到想用什麼資料在取出來的效果。列表生成器 print x x for x in range 10 0,1,4,9,16,25,36,49,64,81 直...
如何最簡單 通俗地理解Python的生成器?
Python開發大佬 要了解yield的作用,就要了解什麼是生成器。要了解生成器,首先要了解迭代器。I t e r a b l e 迭代器 在建立列表時,可以逐個讀取其專案。逐項讀取的專案稱為迭代 mylist是可迭代的物件,這就是迭代。使用 for in 的所有物件都是可迭代的物件,如 list ...
用漫畫生成器生成的個人故事漫畫這種方式是不是很low
禾爻 不low。對那些想要畫漫畫卻一竅不通的人來說簡直是雪中送炭。但這種生成器也是有缺陷 人物僵硬,素材稀少 所以最好是自己學 畫吧。 記憶球 謝個邀?個人認為沒有low的創作方式,只有low的作者和作品。漫畫最重要的是內容的表達。像這類降低門檻的工具可預見的只會越來越多,各行各業都是如此 比如修圖...