pyhon的yileld的一點筆記
阿新 • • 發佈:2018-11-08
yield感覺很神祕,感覺也不好理解,學習pyhon最後終歸是要學習這個東西,研究了一段時間,把自己的筆記寫下來
說簡單點就是遇到yield就停止往下執行程式碼,也包括不執行yield這條語句,然後返回結果後,繼續從yield這條語句開始執行,這裡也包括執行了yield這條語句,真正的執行了,上面的返回只是單純的跳出執行,返回沒有執行yield,然後再遇到yield再返回,然後再回來執行,如此往復
import time def f(): print("OK1") time.sleep(3) count = yield 5 print("aaa") print(count) print("ok2") yield 67 c = f() next(c) #c.send(999)
執行結果如下
D:\python\venv\Scripts\python.exe D:/python/xiecheng2.py
OK1
Process finished with exit code 0
import time def f(): print("OK1") time.sleep(3) count = yield 5 print("aaa") print(count) print("ok2") yield 67 c= f() next(c) c.send(999)
執行結果如下
D:\python\venv\Scripts\python.exe D:/python/xiecheng2.py
OK1
aaa
999
ok2
Process finished with exit code 0
可見count變成了999