通過實(shí)例簡單了解python yield使用方法
實(shí)例代碼如下
def demo(): print('開始執(zhí)行...') while 1: res = yield ’這是返回值’ print('res:',res)d1 = demo()print(d1)print(next(d1))print('*'*20)print(next(d1))
執(zhí)行結(jié)果如下:
開始執(zhí)行...這是返回值********************res: None這是返回值
代碼解釋,個(gè)人理解,說得不對希望能夠點(diǎn)出:
d1 = demo();生成一個(gè)對象,不會輸出任何內(nèi)容
print(d1); 這里不輸入任何內(nèi)容,因?yàn)槌绦虻谝淮斡龅統(tǒng)ield就暫停了,即使yield前面有輸出語句,一樣給輸出
print(next(d1)); 程序會接著yield繼續(xù)執(zhí)行,第二次遇到y(tǒng)ield,return“這是返回值”,加起來就會會輸出開始執(zhí)行...這是返回值
print(next(d1));再次執(zhí)行next(d1),相當(dāng)于第三遇到y(tǒng)ield,因?yàn)樯弦徊较喈?dāng)于被return,res并沒有賦值,所以為None,繼續(xù)執(zhí)行while,第四次遇到y(tǒng)ield,輸出“這是返回值”
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用單元測試對PHP代碼進(jìn)行檢查2. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML3. python excel和yaml文件的讀取封裝4. python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)5. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問題及解決6. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析7. python爬蟲實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊8. 如何對php程序中的常見漏洞進(jìn)行攻擊9. Python實(shí)現(xiàn)http接口自動(dòng)化測試的示例代碼10. 利用python 下載bilibili視頻
