python學習記錄 生成器

2022-09-14 10:15:06 字數 1458 閱讀 6535

迭代取值提供了一種不依賴於索引取值的方式

迭代取值:

1.不依賴於索引取值,__next__()取值

2.不能重複取值,只能從左往右乙個乙個取值

索引取值:

1.必須要乙個容器型別

2.可以重複取值

生成器就是自定義的迭代器

def index():

print('first')

yield 123,234,345

print('second')

yield 'aaaa'

print('third')

yield '***x'

函式裡面有yield關鍵字之後,函式呼叫之外還是函式,一定呼叫函式變成了生成器

res=index() 一旦生成器,就可以__next__取值了

# range功能:

1.玩法一:

range(10) # 0-9的數字

2. 玩法二:

range(3,10) # 3-9的數字

3. 玩法三:

根據玩法2,退出玩法3

推出玩法1

1. 函式內遇到yield關鍵字把函式變成了生成器

2. yield 也可以返回值,並且支援返回多個(元組形式)

3. 遇到yield,函式不會結束,而是"停住"

4. yield 也支援傳值

1. 後面可以跟返回值,也支援返回多個(元組形式)

2. 函式遇到return,會立馬結束

l = [1, 2, 3, 4]

res = (i + 1 for i in l)

print(res.__next__())

print(res.__next__())
'''生成器表示式就類似於工廠

只有在你索要資料的時候,工廠才會給你加工資料

目的:節省記憶體空間

答案選c

python 生成器作用 Python生成器

生成器介紹 在函式內部包含yield關鍵字,那麼該函式執行的結果是生成器,生成器就是迭代器。生成器的功能 把函式結果做成迭代器 以一種優雅的方式封裝好iter,next 提供了一種自己定義迭代器的方式。使用生成器建立乙個迭代器 def a print a yield 11 使用yield,執行後返回...

python生成器好處 Python生成器筆記

python中三大器有迭代器,生成器,裝飾器,本文主要講述生成器。主要從生成器的概念,本質,以及yield關鍵字的使用執行過程。本質 生成器是一類特殊的迭代器,使用了yield關鍵字的函式不再是函式,而是生成器。使用了yield的函式就是生成器 1.yield關鍵字有兩點作用 1.1 yield語句...

python生成器函式 Python 生成器函式

一 生成器 生成器指的是生成器物件,可由生成器表示式得到,也可使用 yield 關鍵字得到乙個生成器函式,呼叫這個函式得到乙個生成器物件 生成器物件,是乙個可迭代物件,是乙個迭代器 生成器物件,是延遲計算 惰性求值的 1.1 生成器函式 函式體重包含 yield 語句的函式,就是生成器函式,呼叫後返...