python生成式的send()方法(詳解)
隨便在網(wǎng)上找了找,感覺都是講半天講不清楚,這里寫一下。
def generator():
while True:
receive=yield 1
print('extra'+str(receive))
g=generator()
print(next(g))
print(g.send(111))
print(next(g))
輸出:
1 extra111 1 extraNone 1
為什么會這樣呢,點進send就能看到一句話
send:Resumes the generator and "sends" a value that becomes the result of the current yield-expression.
就是說 這里yield 1整體被視為一個表達式,你send的內容會作為這個表達式的值,隨便你左邊用什么東西接收或者不接收,總之yield就是你send進來的那個東西。這個表達式變成你send進來后的東西后繼續(xù)執(zhí)行,再次遇到y(tǒng)ield,輸出yield后面跟著的表達式。
當然通常使用的話都不會輸出一個常量,會輸出一個和接收到的東西相關的量,不然豈不是白白發(fā)送了。
以上這篇python生成式的send()方法(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python GUI Tkinter簡單實現(xiàn)個性簽名設計
這篇文章主要為大家詳細介紹了Python GUI Tkinter簡單實現(xiàn)個性簽名設計,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06
python3.x編碼解碼unicode字符串的實現(xiàn)示例
ASCII文本編碼是一種Unicode,存儲為表示字符的字節(jié)值的一個序列,本文主要介紹了python3.x編碼解碼unicode字符串的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2024-01-01

