В Python довольно легко реализовать метод __len__(self)
, чтобы он обрабатывал вызовы len(inst)
, подобные этому:
class A(object):
def __len__(self):
return 7
a = A()
len(a) # gives us 7
И есть множество одинаковых методов, которые вы можете определить (__eq__
, __str__
, __repr__
и т.д.).
Я знаю, что классы Python также являются объектами.
Мой вопрос: могу ли я как-то определить, например, __len__
, чтобы следующее работало:
len(A) # makes sense and gives some predictable result