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

Какие знаешь служебные функции в классе Python

В Python есть несколько служебных (магических/dunder) методов, которые позволяют кастомизировать поведение классов. Основные группы:

  1. Инициализация и удаление

    • __init__ - конструктор
    • __new__ - создание экземпляра
    • __del__ - деструктор
  2. Представление объектов

    • __str__ - для str() и print()
    • __repr__ - для repr() и отладки
  1. Доступ к атрибутам

    • __getattr__, __setattr__, __delattr__
    • __getattribute__ - перехват всех обращений
  2. Эмуляция контейнеров

    • __len__, __getitem__, __setitem__, __delitem__
  3. Вызов объектов

    • __call__ - позволяет вызывать экземпляр как функцию

Пример:

python
class Example:
    def __init__(self, value):
        self.value = value
    
    def __str__(self):
        return f"Example: {self.value}"
    
    def __call__(self, x):
        return self.value * x

e = Example(5)
print(e)      # Example: 5
print(e(3))   # 15
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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