Встречается на собеседованиях • сегодня
Какие знаешь служебные функции в классе 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
интервью вопросы и ответы