迭代器:只要是能被for循环的对象,且数据以公式表达。而不是列表,集合等。
迭代器的工作原理:
import time # 利用斐波那契的原理写一个迭代器,斐波那契的公式:a, b = b ,a+b (第一,二个数:0和1) class Fibonacci(object): def __init__(self, all_count): self.count = 0 # 设置计数器。 self.all_count = all_count # all_count,用来指定迭代器总共迭代的次数,传参进来 self.a = 0 self.b = 1 def __iter__(self): return self def __next__(self): if self.count < self.all_count: ret = self.a self.a, self.b = self.b, self.a + self.b time.sleep(1) self.count += 1 return ret else: raise StopIteration t = Fibonacci(10) for i in t: print(i)