本质
迭代的意思类似于循环,每一次重复的过程被称为一次迭代的过程,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
常见的迭代器有列表、元组、字符、字典还有文件
迭代器通常使用for语句来进行迭代
for i in "test"
print(i)
结果:
t
e
s
t
自制迭代器
python提供了两个魔法方法,iter()和next()
一个容器如果是迭代器,那就必须实现_ _iter_ _()
魔法方法,这个方法实际上就是返回迭代器本身。
接下来重点要实现的是_ _next_ _()
魔法方法,这里面是决定了迭代的规则。
例如下面:
class Test:
def __init__(self):
self.a = 0
def __iter__(self):
return self
def __next__(self):
self.a = self.a + 1
return self.a
t = Test()
for i in t:
print(i)
结果是一直都在迭代,a的值一直在增加