python中的yield與return

yield與return的功能都是返回程序執(zhí)行結(jié)果,但是yield返回執(zhí)行結(jié)果并不中斷程序執(zhí)行,return在返回執(zhí)行結(jié)果的同時(shí)中斷程序執(zhí)行。

例如我們經(jīng)常使用for循環(huán)來遍歷:

return 實(shí)現(xiàn)

def? func():

? ? ?test_list? =? []

? ? ?for? i? in? range(10):

? ? ? ? ? ? test_list.append( i )

? ? ? return? i

fun = func()

print(fun)? ? ? ? #? ?[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]



yield實(shí)現(xiàn)

def func():

? ? for i in range(10):

? ? ? ? ?yield i

fun = func()

print(fun)? ? ? ? ? ? ? ?#? <generator? object? func? at? 0x7f4cb265bb48>

print(next(a))? ? ? ? ?#? 0

print(next(a))? ? ? ? ?#? 1

print(next(a))? ? ? ? ?#? 2

可以看出,yield 輸出的是一個(gè)對象,相當(dāng)于是一個(gè)容器,想取什么數(shù)據(jù)就取出什么,而return 只會(huì)返回一個(gè)值,且return后面的代碼不會(huì)執(zhí)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PYTHON-進(jìn)階-ITERTOOLS模塊小結(jié)轉(zhuǎn)自wklken:http://wklken.me/posts/20...
    C_Y_閱讀 1,164評論 0 2
  • 來到長沙,才發(fā)現(xiàn)冬天不再是下雪的季節(jié),而是下雨的季節(jié)。雨水是溫柔的,它跟隨著風(fēng)飄來我們身邊。 在我家鄉(xiāng),雨水是兇猛...
    時(shí)光勿擾閱讀 232評論 0 1
  • 西安交大,年愈七旬的交大女教授即興發(fā)表了一番感慨: 已是幾次住女兒家了。 看到了孩子們的富足、前衛(wèi)...
    瓷娃娃沒有傘閱讀 550評論 0 0
  • 關(guān)于法國歷史上路易十四時(shí)期“鐵面人”的傳說,二百多年來一直沒有中斷。鐵面人的故事被大家知道源于大仲馬,他的《...
    mixiao米小閱讀 18,433評論 0 1
  • 愛美之心人皆有之!我雖是粗俗之人、懶散之人,卻也愛花。前幾日獲得這捧嬌艷的紅玫瑰,心喜不已!一回家就將它裝入水瓶中。
    78_閑云閱讀 323評論 0 0

友情鏈接更多精彩內(nèi)容