python yield關鍵字,建立乙個生成器

2021-10-08 06:18:21 字數 718 閱讀 6180

def fun():

while true:

print("before")

yield 4

print("after")

# 函式中有yield關鍵字,所以fun函式並不會真的執行,而是先得到乙個生成器g(相當於乙個物件)

g = fun()

# 到呼叫next方法,fun函式正式開始執行

print("..............first")

print(next(g)) # 程式執行到yield關鍵字,return了乙個4之後,程式停止

print("..............second")

print(next(g)) # 從上面程式停止的地方開始執行,到yield關鍵字,return了乙個4之後,程式停止

print("..............third")

print(next(g)) # 從上面程式停止的地方開始執行,到yield關鍵字,return了乙個4之後,程式停止

..............first

before

4..............second

after

before

4..............third

after

before

4

Python yield關鍵字的使用

yield 生成器 包含yield語句的函式是乙個生成器 生成器每次產生乙個值 yield語句 函式被凍結,被喚醒後再產生乙個值 生成器是乙個不斷產生值的函式 例項 def gen n for i in range n yield i 2 for i in gen 5 print i,end 01 ...

我認為的python yield 關鍵字

在學習python時被yield搞暈了頭,像是return又不像是return,所以自己研究了下。如有不對的地方還請大家諒解。def creategenerator mylist range 3 for i in mylist yield i i obj creategenerator 乙個迭代器但...

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...