下面小編就為大家帶來一篇淺談對yield的初步理解。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
如下:
#def go(): while True: data = 1 r = yield data # data是返回值,r是接收值 print("data", data) print("A1", r) data += 1 r = yield data print("data",data) r += r print("A2", r) data += 1 r = yield data print("data",data) print("A3", r) # 运行时此后若找不到下一个yield,则会报错StopIteration my = go() print("my", my) print("None", my.send(None)) print(my.send("1")) print(my.send("2")) print(my.send("3"))
①my.send(None): 意思為啟動協程,此步會傳回第一個yield後面的data值。
②send一次,運行的程式碼是兩個yield之間的程式碼,最後返回後一個yield後面的data值,若缺少後一個yield語句,則會報錯「Stoplteration」
③r = yield data
r 為my.send('傳入的資料') 傳入的資料
data為此段運行完回傳的資料
【相關推薦】
3. 詳解python之yield與Generator實例程式碼
#################################################4. #### Python中關於yield的使用方法介紹#######以上是分享一個關於yield的實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!