gpt4 book ai didi

python - next = __next__ 做什么?

转载 作者:行者123 更新时间:2023-12-04 01:28:40 24 4
gpt4 key购买 nike

我看到 next = __next__ 出现在 OOP 代码的多个地方。

这样做的目的是什么?即使没有这条线,它也适用于我。

class Iter:
def __init__(self, value):
self.data = value


def __iter__(self):
self.ix = 0
return self

def __next__(self):
if self.ix == len(self.data):
raise StopIteration

else:
item = self.data[self.ix]
self.ix += 1
return item

next = __next__

if __name__ == '__main__':
x = Iter([1,2,3,4,5,6,7,8,9 ])
for i in x:
print(i)

最佳答案

这是为了向后兼容 Python 2。根据 What's new in Python 3.0 :

PEP 3114: the standard next() method has been renamed to __next__().

关于python - next = __next__ 做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61394467/

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