python class 中__next__用法

class A():
def __init__(self,b):
self.b=b
# def __iter__(self): # 这个函数可以用,表示迭代标志,但也可以省略
# return self
def __next__(self):
if self.b<10:
self.b=self.b+2
else:
raise StopIteration
self.d=self.b+10
return self.d
def K(self):
self.b=500*self.b
return self.b
c=A(2)
for i in range(4):
print(c.__next__()) # 这个可以迭代,所以可以用循环语句
print(c.K()) # 不可迭代,所以不能用循环语句

原文地址:https://www.cnblogs.com/tangjunjun/p/11490638.html