#内置方法实现迭代器协议 class test_iter: def __init__(self,n): self.n=n def __iter__(self): return self def __next__(self): if self.n == 100: raise StopIteration(‘终止了‘) self.n+=1 return self.n test_iter1=test_iter(10) print(next(test_iter1)) #斐波那契数列 class Fib: def __init__(self): self.a=1 self.b=1 def __iter__(self): return self def __next__(self): self.a,self.b = self.b,self.a+self.b return self.a fib1=Fib() print(next(fib1)) print(next(fib1)) print(next(fib1)) print(next(fib1)) for i in fib1: print(i)
原文:https://www.cnblogs.com/josie930813/p/10482102.html