中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

return和yield有哪些區別

發布時間:2020-12-04 10:11:59 來源:億速云 閱讀:233 作者:小新 欄目:編程語言

這篇文章主要介紹了return和yield有哪些區別,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

yield:

1、是暫停函數

2、返回值后繼續執行函數體內代碼,

3、返回的是一個迭代器(yield本身是生成器-生成器是用來生成迭代器的);

精髓理解:返回后函數執行暫停

return:

1、是結束函數;

2、返回值后不再執行函數體內代碼.

3、返回的是正常可迭代對象(list,set,dict等具有實際內存地址的存儲對象)

精髓理解:返回后函數執行結束

具體區別:

return:返回結果后,函數不再繼續執行,徹底結束;只執行一次,函數結束

調用方式:函數() 直接執行函數

def func():

    start_time = time.time()

    list = []

    for i in range(1, 100000000):

        list.append(i)

    end_time = time.time()

    cost_time = end_time - start_time

    print(cost_time)

    return  list # 相同的代碼

func() # 函數報錯,meryerror 內存錯誤。

yield:返回結果后,函數不結束,yield返回值后暫停,再次調用時,在暫停的地方繼續執行;可執行多次,直到函數結束

def func():

    start_time = time.time()

    list = []

    for i in range(1, 100000000):

        list.append(i)

    end_time = time.time()

    cost_time = end_time - start_time

    print(cost_time)

    yield list

func() # 隨用隨取,節省內存空間。

next(func())

比較節約內存空間。保存的是生成數據的方式。可以達到隨用隨取的效果。

感謝你能夠認真閱讀完這篇文章,希望小編分享return和yield有哪些區別內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹凤县| 阿拉尔市| 铜川市| 达拉特旗| 济阳县| 郯城县| 淮北市| 敦煌市| 永善县| 宜章县| 娄烦县| 巴中市| 新巴尔虎左旗| 淮北市| 凤翔县| 澳门| 宝山区| 绵阳市| 子洲县| 肇东市| 林周县| 米泉市| 巴里| 会东县| 永寿县| 格尔木市| 鸡泽县| 普兰店市| 洮南市| 梓潼县| 金沙县| 荥阳市| 绥棱县| 同仁县| 余庆县| 扶沟县| 朝阳县| 吴堡县| 宣城市| 迁安市| 灵宝市|