O que explica o seguinte comportamento: class Foo: def __getitem__(self, item): print("?") return 1 f = Foo() 1 in f # prints one ? and returns True 5 in f # prints ? forever until you raise a Keyboard Exception # Edit: eventually this fails with OverflowError: iter index too...