- # 内置方法实现迭代器协议
- 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)
来源: http://www.bubuko.com/infodetail-2977630.html