欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python之yield和return的對(duì)比分析

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

python yield和return的對(duì)比

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

例子:求一組數(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)勢(shì):

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

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

(3)使用更靈活

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

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

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

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

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ù)名加()得到一個(gè)生成器。

總結(jié)

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

相關(guān)文章

  • 手把手教你快速安裝gpu版本的pytorch(詳細(xì)圖文教程)

    手把手教你快速安裝gpu版本的pytorch(詳細(xì)圖文教程)

    在Windows?10上安裝PyTorch時(shí),通常默認(rèn)安裝的是CPU版本,且下載速度較慢,本文提供了一個(gè)詳細(xì)的安裝指南,包括如何檢查CUDA版本、選擇合適的PyTorch、torchvision和torchaudio版本,并通過(guò)pip而非conda進(jìn)行安裝,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • 如何高效使用Python字典的方法詳解

    如何高效使用Python字典的方法詳解

    Dictionary 是 Python 的內(nèi)置數(shù)據(jù)類(lèi)型之一,它定義了鍵和值之間一對(duì)一的關(guān)系。下面這篇文章主要給大家介紹了關(guān)于如何高效使用Python字典的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-08-08
  • python有幾個(gè)版本

    python有幾個(gè)版本

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python版本的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 對(duì)Python正則匹配IP、Url、Mail的方法詳解

    對(duì)Python正則匹配IP、Url、Mail的方法詳解

    今天小編就為大家分享一篇對(duì)Python正則匹配IP、Url、Mail的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python如何在類(lèi)中定義裝飾器

    Python如何在類(lèi)中定義裝飾器

    這篇文章主要介紹了Python如何在類(lèi)中定義裝飾器的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python要求O(n)復(fù)雜度求無(wú)序列表中第K的大元素實(shí)例

    Python要求O(n)復(fù)雜度求無(wú)序列表中第K的大元素實(shí)例

    這篇文章主要介紹了Python要求O(n)復(fù)雜度求無(wú)序列表中第K的大元素實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python如何使用ElementTree解析xml

    Python如何使用ElementTree解析xml

    這篇文章主要介紹了Python如何使用ElementTree解析xml,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Python中的re模塊之正則表達(dá)式模塊常用方法

    Python中的re模塊之正則表達(dá)式模塊常用方法

    re模塊是Python中使用正則表達(dá)式的最基礎(chǔ)的模塊,re模塊的這些功能覆蓋了正則表達(dá)式的常見(jiàn)用法,使用re模塊可以簡(jiǎn)化字符串的模式匹配、信息提取、過(guò)濾替換、切分等操作,本文給大家介紹正則表達(dá)式模塊常用方法,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • python執(zhí)行l(wèi)inux系統(tǒng)命令的三種方式小結(jié)

    python執(zhí)行l(wèi)inux系統(tǒng)命令的三種方式小結(jié)

    本文介紹三種在python執(zhí)行l(wèi)inux命令的方式,三種方式都是基于python的標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn),因此不需要額外安裝第三方庫(kù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • python 人工智能算法之隨機(jī)森林流程詳解

    python 人工智能算法之隨機(jī)森林流程詳解

    這篇文章主要為大家介紹了python 人工智能算法之隨機(jī)森林流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評(píng)論