千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > python帶有yield的函數(shù)在Python中如何使用

python帶有yield的函數(shù)在Python中如何使用

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-10 12:40:13 1699591213

yield的函數(shù)在Python中的使用

?yield在函數(shù)中的功能類似于return,不同的是yield每次返回結(jié)果之后函數(shù)并沒有退出,而是每次遇到y(tǒng)ield關(guān)鍵字后返回相應(yīng)結(jié)果,并保留函數(shù)當(dāng)前的運(yùn)行狀態(tài),等待下一次的調(diào)用。如果一個(gè)函數(shù)需要多次循環(huán)執(zhí)行一個(gè)動(dòng)作,并且每次執(zhí)行的結(jié)果都是需要的,這種場(chǎng)景很適合使用yield實(shí)現(xiàn)。

包含yield的函數(shù)成為一個(gè)生成器,生成器同時(shí)也是一個(gè)迭代器,支持通過(guò)next方法獲取下一個(gè)值。

yield基本使用:

deffunc():

foriinrange(0,3):

yieldi

f=func()

f.next()

f.next()

對(duì)于生成器,當(dāng)調(diào)用函數(shù)next時(shí),將獲取生成器yield后邊表達(dá)式的值;

當(dāng)執(zhí)行完最后一次循環(huán)后,結(jié)束yield語(yǔ)句,生成器會(huì)拋出StopIteration異常;

除了next函數(shù),生成器還支持send函數(shù)。該函數(shù)可以向生成器傳遞參數(shù)。

deffunc(n):

foriinrange(0,n):

val=yieldi

printval

f=func(10)

f.next()

#f.send(None)

f.send(2)

f.send(10)

printf.next()

以上內(nèi)容為大家介紹了python培訓(xùn)之帶有yield的函數(shù)在Python中如何使用,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
日韩欧美国产专区 | 日韩激情视频久久 | 色久悠悠五月婷婷 | 一区二区精品视频在线 | 亚洲婷婷久久夜夜亚洲最大 | 制服丝袜中文字幕久久久 |