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

python生成式的send()方法

2017-05-10 08:30:49 2033

實(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

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

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

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

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


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

這條文檔是否有幫助解決問(wèn)題?

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

在文檔使用中是否遇到以下問(wèn)題: