defgenerator():
print(123)
count = yield 1
print('
*****
',count)
print(456)
yield 2g =generator()
ret = g.__next__
()print('
****
',ret)
ret = g.send('
套你大象
')#send的效果與next一樣
send在獲取下乙個值時,會在上乙個yield值之後傳乙個值進來
send獲取下乙個值的效果和next效果基本一致
只是在獲取下個值的時候,就給上乙個值的位置傳遞乙個資料。
1. 第一次使用生成器的時候,必須使用next獲取下乙個值。
2. 最後乙個yield不能接收外部的值
Python高階 生成器(Generators)
迭代器是乙個讓程式設計師可以遍歷乙個容器 特別是列表 的物件。然而,乙個迭代器在遍歷並讀取乙個容器的資料元素時,並不會執行乙個迭代。維基百科 可迭代物件 iterable python中任意的物件,只要它定義了可以返回乙個迭代器的iter方法,或者定義了可以支援下標索引的getitem方法 這些雙下...
Python高階篇 生成器
python中有很多方便遍歷的資料結構。這些結構都是iterable物件。主要包括一下集中 集合資料型別 list tuple dict set str等 和生成器 generator 集合資料型別對於大家應該不是難題,這裡重點來 一下generator這個有點複雜的迭代物件。首先來看一下如何生成g...
python高階 解析式 生成器
datetime datetime.datetime.today 返回本地時區當前時間的datetime物件 datetime.datetime.now tz none 返回當前時間的datetime物件,微秒 如果tz為none返回和today 一樣 datetime.datetime.utcno...