版权声明:本文为博主原创文章,未经博主允许可以转载。 https://blog.csdn.net/killeri/article/details/83144372
__iter__和__next__是在类中自动实现迭代协议的运算重载符。
例如:
class square:
def __init__(self, start, stop):
self.value = start -1
self.stop = stop
def __iter__(self):
return self
def __next__(self):
if self.value == self.stop:
raise StopIteration
self.value += 1
return self.value ** 2
以上我们使用了iter运算重载符,当我们声明一个类的实例时,这个实例就自动是一个迭代器,如果我们调用next方法时,就会自动调用类中的next方法,进行运算。加粗样式