Есть ли способ сделать len()
работать с методами экземпляра без изменения класса?
Пример моей проблемы:
>>> 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()
Примечание:
- разные экземпляры
A
будут иметь разные приемы__len__
- Я не могу изменить класс
A