Я новичок в реальных языках программирования, а Python - мой первый. Я немного разбираюсь в Linux, достаточно, чтобы получить летнюю работу (я все еще в старшей школе), и на работе у меня много свободного времени, которое я использую для изучения Python.
Одна вещь меня достала. Что именно отличается в Python, когда у вас есть такие выражения, как
x.__add__(y) <==> x+y
x.__getattribute__('foo') <==> x.foo
Я знаю, какие методы делают и что делают, и я получаю то, что они делают, но мой вопрос: как эти двойные методы подчеркивания отличаются от их более простых эквивалентов?
P.S., я не против читать лекции по истории программирования, на самом деле, мне очень полезно знать:) Если это в основном исторические аспекты Python, не стесняйтесь начинать бессвязно.