python: магические (dunder) методы

     Магическими методами называются такие методы, которые позволяют добавить объекту некоторые функции (например, обращение по индексу, определение длины или пр.). Такие методы имеют в названии двойное подчеркивание в начале и в конце, от туда и второе название (dunder - double underscore (двойное подчёркивание по английски)) методы. Существуют следующие dunder методы:

1) Для бинарных операций: сложение, вычитание, умножение, деление, возведение в степень, логические действия (и, или), равенстов;

2) Для унарных операций: унарный плюс и унарный минус

3) Для создания и удаления классов: __new__, __init__, __del__. При создании объекта сначала вызывается new, затем init. Del вызывается тогда, когда будет удаляться объект. Не обязательно, когда будет вызван оператор del. __del__ всегда вызывается при завершении работы интерпретатора.

4) Для строкового представления: __str__ и __repr__. Задача функции repr - вернуть строковое представление, которое отражает уникальность объекта, а задача функции str - обеспечить читаемое представление. __repr__ обычно используется при отладке, а str - для вывода в логи и пользователю.

Комментарии

Популярные сообщения из этого блога

Сброс счётчика неудачных попыток входа

Настройка ubuntu для сервера Nginx (python3.8)