gpt4 book ai didi

iterator - Python 中的可迭代性

转载 作者:太空狗 更新时间:2023-10-30 01:42:30 26 4
gpt4 key购买 nike

我想了解 Python 中的可迭代性。

据我所知,__iter__() 应该返回一个定义了 next() 方法的对象,该方法必须返回一个值或引发 StopIteration异常(exception)。因此,我编写了满足这两个条件的类。

但是好像不行。怎么了?

class Iterator:
def __init__(self):
self.i = 1

def __iter__(self):
return self

def next(self):
if self.i < 5:
return self.i
else:
raise StopIteration

if __name__ == __main__:
ai = Iterator()
b = [i for i in ai]
print b

最佳答案

您的 Iterator 类是正确的。你只是在这个声明中有一个错字:

if __name__ ==' __main__':

“__main__”字符串中有一个前导空格。这就是您的代码根本没有执行的原因。

关于iterator - Python 中的可迭代性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649549/

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