通過實(shí)例簡單了解Python中yield的作用
這篇文章主要介紹了通過實(shí)例簡單了解Python中yield的作用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
介紹
我們有時(shí)候會(huì)發(fā)現(xiàn)代碼中return的地方,有用yield的,難道他們一樣嗎?其實(shí),yield與return看起來很像,但實(shí)際上完全不同。
使用
def test():
print("****start****")
while 1:
res = yield 1
print("res:", res)
t = test() # 函數(shù)中有yield關(guān)鍵字,所以函數(shù)并不會(huì)真的執(zhí)行,而是先得到一個(gè)生成器t
print(next(t)) # next讓函數(shù)開始執(zhí)行,打印start,然后把1返回給next(t),并把1打印出來,這時(shí)res還沒賦值
print("*"*10) # 打印十個(gè)*
print(next(t)) # 函數(shù)從res = yield開始執(zhí)行,但是1已經(jīng)被yield出去了,所以res實(shí)際上沒有值,就是None,然后while重新循環(huán),1被yield出去打印
# ****start****
# 1
# **********
# res:None
# 1
你繞出來了嗎?
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python字符串的創(chuàng)建和駐留機(jī)制詳解
字符串駐留是一種在內(nèi)存中僅保存一份相同且不可變字符串的方法,本文重點(diǎn)給大家介紹Python字符串的創(chuàng)建和駐留機(jī)制,感興趣的朋友跟隨小編一起看看吧2022-02-02
python pydoc生成API文檔的實(shí)現(xiàn)
pydoc?模塊會(huì)根據(jù) Python 模塊來自動(dòng)生成文檔,本文主要介紹了python pydoc生成API文檔的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
python實(shí)現(xiàn)不同數(shù)據(jù)庫間數(shù)據(jù)同步功能
這篇文章主要介紹了python實(shí)現(xiàn)不同數(shù)據(jù)庫間數(shù)據(jù)同步功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
Python安裝Numpy和matplotlib的方法(推薦)
下面小編就為大家?guī)硪黄狿ython安裝Numpy和matplotlib的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
對(duì)django views中 request, response的常用操作詳解
今天小編就為大家分享一篇對(duì)django views中 request, response的常用操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python?4種實(shí)現(xiàn)定時(shí)任務(wù)的方案
這篇文章主要給大家分享了Python?4種實(shí)現(xiàn)定時(shí)任務(wù)的方案,運(yùn)用 while True: + sleep()、Timeloop 庫、threading.Timer 、內(nèi)置模塊 sched ,下面就來看看具體的實(shí)現(xiàn)過程吧2021-12-12

