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

溫馨提示×

溫馨提示×

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

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

python中生成器的原理是什么

發布時間:2021-04-26 15:05:01 來源:億速云 閱讀:207 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關python中生成器的原理是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Python的優點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。

1、概念

生成器是通過使用yield語句而不是return語句定義一個普通函數來創建的。如果函數包含至少一個yield語句,它就成為一個生成器函數。yield和return都將從函數返回一些值。函數在執行return時終止,而yield語句暫停函數,保存它的所有狀態,然后在后續調用時繼續執行。

2、組成

至少有一個yield語句。

返回一個對象(迭代器),但不立即開始執行。

記住連續調用之間的局部變量及其狀態。

實現迭代協議。

3、原理分析

下面是使用生成器的類似內容。可以發現,調用__iter__()和__next__()都是由生成器自動處理的:

# Generator for next power of two.
def NextPowTwo(max_ele):
    n = 0
    while n < max_ele:
        yield 2 * n
        n += 1
    raise StopIteration
 
           
obj = NextPowTwo(20)
print (obj.next())
print (obj.next())
print (obj.next())
print (obj.next())

關于python中生成器的原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

浏阳市| 贡觉县| 安多县| 睢宁县| 新兴县| 池州市| 洪湖市| 东辽县| 武安市| 台南市| 梅州市| 白山市| 澎湖县| 河源市| 资讯| 绥阳县| 准格尔旗| 元阳县| 南宫市| 衡南县| 罗甸县| 左云县| 丰城市| 株洲县| 江永县| 鲁山县| 玉山县| 陆河县| 宁阳县| 含山县| 凌源市| 固安县| 奉节县| 顺昌县| 阿拉尔市| 荣昌县| 丰镇市| 洛浦县| 三门峡市| 嘉荫县| 东丽区|