Python | Готовимся к собесам
Что такое магические методы (dunder-методы)?
Ответ:
Магические методы, также известные как “dunder” (double underscore) методы в Python, это специальные методы, которые начинаются и заканчиваются двойным подчеркиванием. Они позволяют определить, как объекты этого класса будут вести себя в различных контекстах, например, при использовании операторов Python, таких как +, -, *, / и т.д., при вызове функций и методов, при сериализации и многое другое.
Некоторые примеры магических методов в Python включают:
init: инициализирует новый экземпляр объекта
str: определяет, как объект будет представлен в строковом формате
add: определяет, что происходит при использовании оператора +
len: определяет, как объект будет представлен при вызове функции len()
getitem: позволяет получать доступ к элементам объекта, как к элементам списка
Магические методы могут быть очень полезными при создании пользовательских классов в Python, так как они позволяют управлять поведением объектов в различных контекстах и создавать более понятный и гибкий код.
# иллюстрация "утиной типизации": мы можем измерять длину у всего, где есть метод len()
class MyClass:
def __len__(self):
print('длина - это смотря как посмотреть')
return 0
myclass = MyClass()
print(len(myclass))
Если знали ответ — поставьте 🔥
Если нет — 🤯
➡️ Подготовка Python | #вопросы
🤯2
3 · 142 ·