TGViewer
Python вопросы с собеседований Python вопросы с собеседований @python_job_interview · 24.9K subscribers
Post #803 24.9K
💩 Какова разница между методами __getattr__ и __getattribute__?

Оба этих метода являются магическими.

🔘__getattr__

class Missing:
attr = 42

def __getattr__(self, name):
print(f"In __getattr__, asked for {name}")
return 73

m = Missing()
print(m.attr) # 42
print(m.xyz) # In __getattr__, asked for xyz; 73

Пример кода выше показывает, как метод используется для обработки запроса несуществующего атрибута xyz.

🔘__getattribute__

class Always:
attr = 42

def __getattribute__(self, name):
print(f"In __getattribute__, asked for {name}")
return 73

a = Always()
print(a.attr) # In __getattribute__, asked for attr; 73
print(a.xyz) # In __getattribute__, asked for xyz; 73

Здесь же можно увидеть, что метод используется для обработки запросов всех атрибутов, как существующих (attr), так и несуществующих (xyz).

✅ Таким образом, __getattribute__ — это метод, который управляет всеми запросами атрибутов, тогда как __getattr__ вызывается, когда __getattribute__ не находит атрибут.

#вопросы_с_собеседований

@python_job_interview
  • 👍 20
  • ❤ 7
  • 🔥 7
More from @python_job_interview
  1. Sep 26, 2026Octop - open-source платформа, где можно запускать сразу несколько AI-агентов для себя, се…
  2. Sep 23, 2026Визуализация данных на Python: 10 лучших примеров с кодом Визуализация данных на Python -…
  3. Sep 22, 2026Как правильно получить случайное число в Python Если нужен диапазон от 1 до 100 включитель…
  4. Sep 19, 2026✔️ Кто подключился к вашей сети? NetAlertX обнаруживает устройства и уведомляет об изменен…
  5. Sep 18, 2026✔️ QuiverAI выпустила обновление генератора векторной графики Во второе поколение семейств…
  6. Sep 17, 2026📚 Бесплатная книга по математике для Computer Science и Machine Learning - более 2200 стр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →