在尝试构建一些东西时,发现了这种奇怪的行为。我正在尝试构建一个可以调用dict的类 class Test1: return iter([(a, a) for a in range(10现在,在我的用例中,对象有一个__getattr__重载,这就是问题所在 class Test2: return iter([(a, a)for a in range(10)])
def __get
我在MyIter2和MyIter3中实现了两种不同的重写方法。__iter__(): yield jfor i in ExternalIter():print(i)# (3, 4)# (7, 8)我希望覆盖__iter__的行为,如下面的示例所示:
for i in MyIter2():depth exceeded while calli