迭代器

迭代器:

序列、文件、字典(键)
for i in "Python":
print(i)

BIF:

iter()#启动迭代器
next()#取下一个值
__iter__()#返回迭代器本身
__next__()#决定迭代规则,返回迭代之后的值
it = iter(string)
next(it)
next(it)
结束时抛出StopIteration异常
for循环:
it = iter(string)
while True:
try:
each = next(it)
except StopIteration:
break
print(each)
Fabs:
class Fabs:
def __init__(self, n = 20):
self.a = 0
self.b = 1
self.n = n
def __iter__(self):
return self
def __next__(self):
if self.a > self.n:
raise StopIteration
self.a, self.b = self.b, self.a + self.b
return self.a