通過實例簡單了解python yield使用方法
實例代碼如下
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
這是返回值
代碼解釋,個人理解,說得不對希望能夠點出:
d1 = demo();生成一個對象,不會輸出任何內(nèi)容
print(d1); 這里不輸入任何內(nèi)容,因為程序第一次遇到y(tǒng)ield就暫停了,即使yield前面有輸出語句,一樣給輸出
print(next(d1)); 程序會接著yield繼續(xù)執(zhí)行,第二次遇到y(tǒng)ield,return“這是返回值”,加起來就會會輸出開始執(zhí)行...
這是返回值
print(next(d1));再次執(zhí)行next(d1),相當于第三遇到y(tǒng)ield,因為上一步相當于被return,res并沒有賦值,所以為None,繼續(xù)執(zhí)行while,第四次遇到y(tǒng)ield,輸出“這是返回值”
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何基于Python實現(xiàn)一個慶祝國慶節(jié)的小程序
這篇文章主要介紹了如何基于Python實現(xiàn)一個慶祝國慶節(jié)的小程序,增加了互動選擇祝福語、查詢信息、播放背景音樂及趣味小測驗等功能,使用tkinter增強GUI,提升用戶互動體驗,需要的朋友可以參考下2024-09-09Python爬蟲之Selenium設(shè)置元素等待的方法
這篇文章主要介紹了Python爬蟲之Selenium設(shè)置元素等待的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Python實現(xiàn)統(tǒng)計文本中字符的方法小結(jié)
在計算機編程中,經(jīng)常需要對文本數(shù)據(jù)進行處理和分析,字符統(tǒng)計是其中一個常見任務(wù),本文將詳細介紹如何使用Python進行字符統(tǒng)計,希望對大家有所幫助2024-01-01pytest使用parametrize將參數(shù)化變量傳遞到fixture
這篇文章主要為大家介紹了pytest使用parametrize將參數(shù)化變量傳遞到fixture的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05python 并發(fā)編程 多路復(fù)用IO模型詳解
這篇文章主要介紹了python 并發(fā)編程 多路復(fù)用IO模型詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08Python編程判斷一個正整數(shù)是否為素數(shù)的方法
這篇文章主要介紹了Python編程判斷一個正整數(shù)是否為素數(shù)的方法,涉及Python數(shù)學(xué)運算相關(guān)操作技巧,需要的朋友可以參考下2017-04-04Python數(shù)據(jù)可視化之使用matplotlib繪制簡單圖表
這篇文章主要為大家詳細介紹了使用matplotlib繪制簡單圖表的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03Python?mistune庫靈活的Markdown解析器使用實例探索
本文將深入介紹Python?Mistune,包括其基本概念、安裝方法、示例代碼以及一些高級用法,以幫助大家充分利用這一工具來處理Markdown文本2024-01-01