Встречается на 1% собеседований по Python
Какие знаешь служебные функции в классе Python
В Python есть несколько служебных (магических/dunder) методов, которые позволяют кастомизировать поведение классов. Основные группы:
-
Инициализация и удаление
__init__- конструктор__new__- создание экземпляра__del__- деструктор
-
Представление объектов
__str__- для str() и print()__repr__- для repr() и отладки
-
Доступ к атрибутам
__getattr__,__setattr__,__delattr____getattribute__- перехват всех обращений
-
Эмуляция контейнеров
__len__,__getitem__,__setitem__,__delitem__
-
Вызов объектов
__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
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы