迭代器相关的运算重载符

版权声明:本文为博主原创文章,未经博主允许可以转载。 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方法,进行运算。加粗样式

猜你喜欢

转载自blog.csdn.net/killeri/article/details/83144372