Встречается на собеседованиях • сегодня

Какие методы могут использоваться в процессе обращения к атрибуту объекта в Python

В Python доступ к атрибутам объекта может происходить через несколько механизмов:

  1. Прямой доступ через точку: obj.attribute
  2. Функция getattr(): getattr(obj, 'attribute', default)
  3. Магические методы (если определены в классе):
    • __getattribute__ - вызывается при любом обращении к атрибуту
    • __getattr__ - вызывается, если атрибут не найден обычным способом
    • __setattr__ - при присвоении атрибута
    • __delattr__ - при удалении атрибута

Пример с магическими методами:

python
class Example:
    def __getattr__(self, name):
        return f"Атрибут {name} не существует"
    
obj = Example()
print(obj.test)  # Выведет: "Атрибут test не существует"

Важно: __getattribute__ имеет приоритет над __getattr__ и вызывается всегда, тогда как __getattr__ - только при отсутствии атрибута.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы