通過(guò)實(shí)例簡(jiǎn)單了解python yield使用方法
實(shí)例代碼如下
def demo(): print('開(kāi)始執(zhí)行...') while 1: res = yield ’這是返回值’ print('res:',res)d1 = demo()print(d1)print(next(d1))print('*'*20)print(next(d1))
執(zhí)行結(jié)果如下:
開(kāi)始執(zhí)行...這是返回值********************res: None這是返回值
代碼解釋,個(gè)人理解,說(shuō)得不對(duì)希望能夠點(diǎn)出:
d1 = demo();生成一個(gè)對(duì)象,不會(huì)輸出任何內(nèi)容
print(d1); 這里不輸入任何內(nèi)容,因?yàn)槌绦虻谝淮斡龅統(tǒng)ield就暫停了,即使yield前面有輸出語(yǔ)句,一樣給輸出
print(next(d1)); 程序會(huì)接著yield繼續(xù)執(zhí)行,第二次遇到y(tǒng)ield,return“這是返回值”,加起來(lái)就會(huì)會(huì)輸出開(kāi)始執(zhí)行...這是返回值
print(next(d1));再次執(zhí)行next(d1),相當(dāng)于第三遇到y(tǒng)ield,因?yàn)樯弦徊较喈?dāng)于被return,res并沒(méi)有賦值,所以為None,繼續(xù)執(zhí)行while,第四次遇到y(tǒng)ield,輸出“這是返回值”
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JS中6個(gè)對(duì)象數(shù)組去重的方法2. Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求3. 資深程序員:給Python軟件開(kāi)發(fā)測(cè)試的25個(gè)忠告!4. 一文帶你徹底理解Java序列化和反序列化5. PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作詳解(二)6. PHP利用curl發(fā)送HTTP請(qǐng)求的實(shí)例代碼7. Python基于requests庫(kù)爬取網(wǎng)站信息8. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法9. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能10. python中文本字符處理的簡(jiǎn)單方法記錄

網(wǎng)公網(wǎng)安備