python迭代器生成器

2021-09-27 06:37:05 字數 470 閱讀 8455

#可迭代協議           只要含有__iter__方法的都是可迭代的

#迭代器協議           內部含有__next__和__iter__方法的就是迭代器

#乙個可迭代物件執行了__iter__()之後的返回值就是乙個迭代器

#for迴圈其實就是在使用迭代器

#當我們遇到乙個新的變數,不確定能不能for迴圈的時候,就判斷它是否可迭代

#迭代器的好處:

# 從容器型別中乙個乙個的取值,會把所有的值都取到。

# 節省記憶體空間

#迭代器並不會在記憶體中再占用一大塊記憶體,

# 而是隨著迴圈 每次返回乙個

# 每次next返回乙個元素

#生成器函式 —— 本質上就是我們自己寫得函式

#只要含有yield關鍵字的函式都是生成器函式

#yield不能和return共用且需要寫在函式內

#執行之後會得到乙個生成器作為返回值

Python 迭代器 生成器

可以直接作用於for迴圈的物件,統稱為可迭代物件 iterable。iterator物件表示的是乙個資料流,iterator物件可以被next 函式呼叫並不斷返回下乙個資料,直到沒有資料時丟擲stopiteration錯誤。可以把這個資料流看做是乙個有序序列,但我們卻不能提前知道序列的長度,只能不斷...

python 迭代器,生成器

什麼事迭代 可直接用作與for迴圈的物件統稱為可迭代物件 可以被next 函式呼叫,並不斷返回下乙個值的物件稱為迭代器,所有的iterable均可以通過內建函式iter 來轉變為iterator。對於迭代器來講,有乙個next 就夠了。在你使用for和in語句時,程式就會自動呼叫即將被處理的物件的可...

python 迭代器 生成器

知識背景 1 呼叫乙個普通的python函式時,一般是從函式的第一行 開始執行,結束於return語句 異常或者函式結束 可以看作隱式的返回none 2 一旦函式將控制權交還給呼叫者,就意味著全部結束。函式中做的所有工作以及儲存在區域性變數中的資料都將丟失 3 再次呼叫這個函式時,一切都將從頭建立。...