您好,登錄后才能下訂單哦!
這篇文章主要介紹了通過實(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í)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。