Почему определение __getitem__ в классе делает его итерабельным?
Например, если я пишу:
class b:
def __getitem__(self, k):
return k
cb = b()
for k in cb:
print k
Я получаю вывод:
0
1
2
3
4
5
6
7
8
...
Я бы действительно ожидал увидеть ошибку, возвращенную из "for k in cb:"