Python/Объектно-ориентированное программирование на Python: различия между версиями

Содержимое удалено Содержимое добавлено
мНет описания правки
Строка 375:
За достаточно простым в использовании механизмом доступа к атрибутам в [[Python]] кроется довольно сложный алгоритм. Далее будет приведена последовательность действий, производимых интерпретатором при разрешении запроса <code>object.field</code> (поиск прекращается после первого успешно завершённого шага, иначе происходит переход к следующему шагу).
 
# Если у <code>object</code> есть метод <code>__getattribute__</code>, то будет вызван он с параметром <code>'field'</code> (либо <code>__setattr__</code> или <code>__delattr__</code> в зависимости от действия над атрибутом)
# Если у <code>object</code> есть поле <code>__dict__</code>, то ищется <code>object.__dict__['field']</code>
# Если у <code>object.__class__</code> есть поле <code>__slots__</code>, то <code>'field'</code> ищется в <code>object.__class__.__slots__</code>