国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

python生成式的send()方法

2017-05-10 08:30:49 2034

實(shí)例

def generator():

  while True:

    receive=yield 1

    print('extra'+str(receive))

g=generator()

print(next(g))

print(g.send(111))

print(next(g))

  輸出:

extra111

1

extraNone

1

為什么會這樣呢,點(diǎn)進(jìn)send就能看到一句話

send:Resumes the generator and "sends" a value that becomes the result of the current yield-expression.

就是說 這里yield 1整體被視為一個表達(dá)式,你send的內(nèi)容會作為這個表達(dá)式的值,隨便你左邊用什么東西接收或者不接收,總之yield就是你send進(jìn)來的那個東西。這個表達(dá)式變成你send進(jìn)來后的東西后繼續(xù)執(zhí)行,再次遇到y(tǒng)ield,輸出yield后面跟著的表達(dá)式。

當(dāng)然通常使用的話都不會輸出一個常量,會輸出一個和接收到的東西相關(guān)的量,不然豈不是白白發(fā)送了。


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: