__iter__ 和 __next__

时间:2022-07-22 14:59:52
class F:
def __init__(self,x):
self.x = x def __iter__(self): #把对象 变成可迭代对象
return self def __next__(self):
return self.x f = F(2)
print(f.__next__()) #---> next(f) #通过for 来循环
for i in f: #f = iter(f) -->f.__iter__ i实际就是f.__next__拿到一个值
print(i) #会一直运行结果2,为什么一直跑,其实就是一个无穷next