gpt4 book ai didi

python - 迭代类方法 next() 和 __next__() 有什么用,有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 21:19:01 24 4
gpt4 key购买 nike

我对 python 迭代器有点迷茫。我偶尔会使用它们,但我不记得自己创建过一个。我从某个地方读到的,我不记得在哪里,像这样的代码:

class Foo(object):
def __init__(self):
self.something = "initial_value"
def __iter__(self):
return self
def next(self):
# I don't quite remember what was here :S
return self.something

我猜 __iter__() 方法应该返回一个迭代器,而那个迭代器应该有一个 next 方法,对吗?那么 __next__() 方法呢?它是直接迭代一个类而不返回另一个带有 __iter__() 方法的迭代器吗?

最佳答案

PEP 3114iterator.next() 重命名为 iterator.__next__()。这是在 3.0 版本中实现的。上面的链接包含所有血淋淋的细节。

关于python - 迭代类方法 next() 和 __next__() 有什么用,有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7223183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com