__iter__ 和 __next__

Posted python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__iter__ 和 __next__相关的知识,希望对你有一定的参考价值。


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

以上是关于__iter__ 和 __next__的主要内容,如果未能解决你的问题,请参考以下文章

分离 __iter__ 和 __next__ 方法

python中的__iter__ __reversed__ __next__

__iter__和__next__实现迭代器协议

__iter__和__next__实现迭代器协议

十七. __next__和__iter__实现迭代器协议

一个列表实现__iter__和__next__方法的例子