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

questionAnswers(5)

yourAnswerToTheQuestion