日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > python生成器的原理探究

python生成器的原理探究

來源:千鋒教育
發布人:xqq
時間: 2023-11-13 07:27:14 1699831634

python生成器的原理探究

本文教程操作環境:windows7系統、Python3.9.1,DELLG3電腦。

1、概念

生成器是通過使用yield語句而不是return語句定義一個普通函數來創建的。如果函數包含至少一個yield語句,它就成為一個生成器函數。yield和return都將從函數返回一些值。函數在執行return時終止,而yield語句暫停函數,保存它的所有狀態,然后在后續調用時繼續執行。

2、組成

至少有一個yield語句。

返回一個對象(迭代器),但不立即開始執行。

記住連續調用之間的局部變量及其狀態。

實現迭代協議。

3、原理分析

下面是使用生成器的類似內容。可以發現,調用__iter__()和__next__()都是由生成器自動處理的:

#Generatorfornextpoweroftwo.

defNextPowTwo(max_ele):

n=0

whilen

yield2*n

n+=1

raiseStopIteration

obj=NextPowTwo(20)

print(obj.next())

print(obj.next())

print(obj.next())

print(obj.next())

在對于python學習的時候,容易把生成器與別的知識點混淆,其實想要判斷有個最簡單的方法,看看是否使用yield函數就知道了。

以上就是python生成器的原理探究,相信現在已經能夠通過yield來明確生成器的使用了。同時我們可以發現,生成器在自動處理調用上是非常好用的。更多Python學習教程請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 玛曲县| 彭泽县| 盈江县| 巴马| 德昌县| 阜南县| 邛崃市| 三门县| 吉林市| 敦煌市| 盘锦市| 吉木萨尔县| 漳州市| 抚远县| 北流市| 许昌县| 宕昌县| 宜兰县| 临海市| 肥西县| 汽车| 嘉祥县| 吉安市| 遵义市| 东乡| 张家口市| 攀枝花市| 襄垣县| 同心县| 靖边县| 长宁县| 阳新县| 崇州市| 海淀区| 贵州省| 来安县| 鄱阳县| 芒康县| 建宁县| 清苑县| 长海县|