我有一个这样的课程
class MyClass:
def __init__(self):
self.test = [1,2,3]
现在我想迭代test
属性,如下所示:
a = MyClass()
for i in a:
print(I)
所以我在课堂上添加了另一种方法:
def __iter__(self):
return self.test
哪个不起作用,除非我这样做:
return iter(self.test)
我认为for
循环隐含地在幕后调用iter()
,如果我做for i in a.test
显然能够迭代正常列表,所以显然我不了解一些关于使用这些功能。希望得到一些澄清