最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python之yield和return的對比分析

 更新時間:2023年08月14日 11:44:47   作者:凍梨不是梨  
這篇文章主要介紹了python之yield和return的對比分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python yield和return的對比

  • 相同點(diǎn):都是返回函數(shù)執(zhí)行的結(jié)果
  • 不同點(diǎn):return 在返回結(jié)果后結(jié)束函數(shù)的運(yùn)行,而yield 則是讓函數(shù)變成一個生成器,生成器每次產(chǎn)生一個值(yield語句),函數(shù)被凍結(jié),被喚醒后再產(chǎn)生一個值

例子:求一組數(shù)的平方值

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

def squre(n):
? ? ls = [i*i for i in range(n)]
? ? return ls
for i in squre(5):
? ? print(i, end=' ?')

結(jié)果為:

0  1  4  9  16  

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

def squre(n):
? ? for i in range(n):
? ? ? ? yield i*i
for i in squre(5):
? ? print(i, end=' ?')

結(jié)果為:

0  1  4  9  16  

yield 生成器相比 return一次返回所有結(jié)果的優(yōu)勢:

(1)反應(yīng)更迅速

(2)更節(jié)省空間

(3)使用更靈活

python3中函數(shù)里的return和yield共存時的細(xì)節(jié)

在python3中,生成器的創(chuàng)建方式有兩種:

利用列表生成式和函數(shù)中添加yield

在這需要注意的是,當(dāng)采集函數(shù)創(chuàng)建生成器時,如果函數(shù)中含有return,則不會通過return得到任憑結(jié)果,return中止當(dāng)前生成器,如果執(zhí)行next()會報錯。

def f1():
? ? for i in range(10):
? ? ? ? print(i)
? ? ? ? i +=1
? ? ? ? yield i
? ? ? ? return i
f = f1()
next(f)
next(f)
next(f)
next(f)

函數(shù)有了yield后,函數(shù)名加()得到一個生成器。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)飛船游戲的縱向移動

    python實(shí)現(xiàn)飛船游戲的縱向移動

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)飛船游戲的縱向移動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 基于Python實(shí)現(xiàn)Windows帶寬監(jiān)控工具

    基于Python實(shí)現(xiàn)Windows帶寬監(jiān)控工具

    這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)一個簡單的Windows帶寬監(jiān)控工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-09-09
  • Django REST為文件屬性輸出完整URL的方法

    Django REST為文件屬性輸出完整URL的方法

    這篇文章主要給大家介紹了關(guān)于Django REST如何為文件屬性輸出完整URL的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-12-12
  • 給ubuntu18安裝python3.7的詳細(xì)教程

    給ubuntu18安裝python3.7的詳細(xì)教程

    這篇文章主要介紹了給ubuntu18安裝python3.7的詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Python的輸入,輸出和標(biāo)識符詳解

    Python的輸入,輸出和標(biāo)識符詳解

    這篇文章主要介紹了介紹了Python的輸入,輸出和標(biāo)識符,有需要的朋友們可以參考一下,希望能給您帶來幫助
    2022-01-01
  • 基于高德地圖API在Python中實(shí)現(xiàn)地圖功能的方法示例詳解

    基于高德地圖API在Python中實(shí)現(xiàn)地圖功能的方法示例詳解

    本文介紹在高德開放平臺中,申請、獲取地圖API的Key的方法,同時通過簡單的Python代碼,調(diào)取API信息,對所得Key的可用性加以驗(yàn)證,感興趣的朋友一起看看吧
    2025-01-01
  • Python代碼統(tǒng)計(jì)耗時的方法詳解

    Python代碼統(tǒng)計(jì)耗時的方法詳解

    在現(xiàn)代軟件開發(fā)中,性能優(yōu)化是一個至關(guān)重要的環(huán)節(jié),無論是開發(fā)大型系統(tǒng)還是小型工具,開發(fā)者都需要對代碼的執(zhí)行時間進(jìn)行精確測量,以便找出瓶頸并優(yōu)化性能,本文給大家介紹了Python代碼統(tǒng)計(jì)耗時的方法,需要的朋友可以參考下
    2025-02-02
  • Python處理大量Excel文件的十個技巧分享

    Python處理大量Excel文件的十個技巧分享

    每天被大量Excel文件折磨的你看過來!這是一份Python程序員整理的實(shí)用技巧,不說廢話,直接上干貨,文章通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2025-05-05
  • Python+Selenium鍵盤鼠標(biāo)模擬事件操作詳解

    Python+Selenium鍵盤鼠標(biāo)模擬事件操作詳解

    這篇文章主要帶大家一起學(xué)習(xí)一下Selenium的元素的基本操作與鼠標(biāo)鍵盤模擬事件的操作,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-06-06
  • python tkinter canvas使用實(shí)例

    python tkinter canvas使用實(shí)例

    這篇文章主要介紹了python tkinter canvas使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11

最新評論

石狮市| 霍林郭勒市| 涟水县| 涞水县| 屏东县| 新泰市| 莱西市| 玛多县| 洱源县| 永昌县| 武汉市| 湘西| 苏尼特右旗| 修武县| 柏乡县| 渝中区| 仙桃市| 永福县| 贵州省| 宕昌县| 丹凤县| 白水县| 达孜县| 秦安县| 清河县| 康乐县| 青州市| 怀安县| 马公市| 临武县| 呼和浩特市| 卢氏县| 玉龙| 吉首市| 浑源县| 新龙县| 祁连县| 仙游县| 辛集市| 南康市| 吉隆县|