看了很多解釋,都是在拿迭代器,講解可迭代物件,然後寫寫**,就完了。完全不懂內部實現。
class add:
def __init__(self):
self.base = 0
def __iter__(self):
return self
def __next__(self):
self.base += 1
return self.base
謝了__iter__方法,便是指定了它是乙個可迭代物件。
而__next__方法,便是產生可迭代資料的。
add1 = add()
print(add1.__next__())
print(add1.__next__())
print(add1.__next__())
1
23
add2 = add()
for i in add2:
if i > 10:
break
print(i)
123
4567
8910
Python 可迭代物件
1.可迭代物件 以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別 如 list tuple dict set str等 一類是generator,包括生成器和帶yield 的 generator function 這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable 2...
python可迭代物件
0 在python中只要是能用for in的,都是可迭代物件,讓我們看下定義 定義 我們已經知道可以對list tuple dict set str等型別的資料使用for in 的迴圈語法,會從其中依次拿到資料元素進行使用,我們把這樣的過程稱為遍歷,也叫迭代。所以我們把可以通過for in 這類語句...
PYTHON 迭代器 可迭代物件
通過重複執行的 處理相似的資料集的過程,並且本次迭代的處理資料要依賴上一次的結果繼續往下做,上一次產生的結果為下一次產生結果的初始狀態,如果中途有任何停頓,都不能算是迭代。1 非迭代例子 loop 0 while loop 3 print hello world loop 1 2 迭代例子 loop...