Como fazer com que len () funcione com diferentes métodos em diferentes instâncias de uma classe, sem modificar a classe?
Existe uma maneira de fazerlen()
trabalhar com métodos de instância sem modificar a classe?
Exemplo do meu problema:
>>> class A(object):
... pass
...
>>> a = A()
>>> a.__len__ = lambda: 2
>>> a.__len__()
2
>>> len(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'A' has no len()
Nota:
diferentes instâncias deA
terá diferente__len__
métodos anexadosNão posso mudar de classeA