是否可以在没有单独的迭代器对象的情况下进行对象迭代?

时间:2016-08-11 06:50:36

标签: python iterator iteration

我正在写一些类似于数组的东西,但有一些调整。当然,它应该是可迭代的。但我真的不想把另一个对象作为迭代器,而且我在myObject.generator()'对我来说似乎太笨重了。有没有办法制作一个适用于我在myObject中的生成器函数?

1 个答案:

答案 0 :(得分:7)

只需使用__iter__ method的生成器函数:

def __iter__(self):
    for value in self._values:
        yield value

每次在对象上调用iter()时都会产生一个新的生成器迭代器对象(当你在循环中使用对象时,for为你做