Недавно я играл с Python, и одна вещь, которую я нахожу немного странной, - это широкое использование "магических методов", например. чтобы сделать свою длину доступной, объект реализует метод def __len__(self)
, а затем вызывается при написании len(obj)
.
Мне просто интересно, почему объекты не просто определяют метод len(self)
и вызывают его непосредственно как член объекта, например. obj.len()
? Я уверен, что для Python должны быть веские причины делать это так, как это делается, но как новичок я еще не разработал, что они еще.