¿Por qué la definición de __getitem__ en una clase la hace iterable en python?
¿Por qué definir __getitem__ en una clase lo hace iterable?
Por ejemplo, si escribo:
class b:
def __getitem__(self, k):
return k
cb = b()
for k in cb:
print k
Obtengo la salida:
0
1
2
3
4
5
6
7
8
...
Realmente esperaría ver un error devuelto por "for k in cb:"