输出 截止 大于500的斐波那锲数 class Fibs,迭代器
class Fibs:
def __init__(self):
self.a = 0
self.b = 1
def __next__(self):
self.a, self.b = self.b, self.a + self.b
return self.a
def __iter__(self):
return self
fibs = Fibs()
for f in fibs:
if f > 500: # 输出 截止 大于500的斐波那锲数
print(f, end='\t')
break
else:
print(f, end='\t')
迭代器用到的魔术方法
__iter__ 和 __next__
常见的就是我们在使用for语句的时候,python内部其实是把for后面的对象上使用了内建函数iter