Я только начал изучать Python несколько месяцев назад и пытаюсь понять разницу между различными методами __ get * __
:
__get__
__getattr__
__getattribute__
__getitem___
И их __del * __
эквиваленты:
__del__
__delattr__
__delete__
__delitem__
В чем разница между ними? Когда я должен использовать одно вместо другого? Есть ли конкретная причина, по которой большинство методов __ get * __
имеют эквиваленты __ set * __
, но отсутствуют __ setattribute __
?