1. 程式人生 > 程式設計 >通過例項簡單瞭解python yield使用方法

通過例項簡單瞭解python yield使用方法

例項程式碼如下

def demo():
  print("開始執行...")
  while 1:
    res = yield '這是返回值'
    print("res:",res)
d1 = demo()
print(d1)
print(next(d1))
print("*"*20)
print(next(d1))

執行結果如下:

開始執行...
這是返回值
********************
res: None
這是返回值

程式碼解釋,個人理解,說得不對希望能夠點出:

d1 = demo();生成一個物件,不會輸出任何內容

print(d1); 這裡不輸入任何內容,因為程式第一次遇到yield就暫停了,即使yield前面有輸出語句,一樣給輸出

print(next(d1)); 程式會接著yield繼續執行,第二次遇到yield,return“這是返回值”,加起來就會會輸出開始執行...
這是返回值

print(next(d1));再次執行next(d1),相當於第三遇到yield,因為上一步相當於被return,res並沒有賦值,所以為None,繼續執行while,第四次遇到yield,輸出“這是返回值”

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。