Методы Дандера, также известные как магические методы или специальные методы, представляют собой предопределенные методы в Python, которые имеют двойное подчеркивание (или «дандер») в начале и в конце их имен. Эти методы позволяют определить конкретное поведение встроенных операций или функций в классах Python. Реализуя методы dunder, вы можете настроить поведение своих объектов и заставить их беспрепятственно работать с языковыми конструкциями Python.
Вот некоторые часто используемые методы dunder и их цели:
__init__(self, ...)
: это метод конструктора, который вызывается при создании объекта из класса. Он инициализирует атрибуты объекта и выполняет все необходимые настройки.__str__(self)
: этот метод возвращает строковое представление объекта и вызывается встроенной функциейstr()
или при печати объекта. Он обеспечивает удобочитаемое представление объекта.__repr__(self)
: этот метод возвращает строку, представляющую объект таким образом, что его можно использовать для воссоздания объекта. Он вызывается встроенной функциейrepr()
и обычно используется в целях отладки.__len__(self)
: этот метод возвращает длину объекта и вызывается встроенной функциейlen()
. Он обычно используется для таких последовательностей, как списки, кортежи или строки.__getitem__(self, key)
: Этот метод включает индексирование и нарезку объектов. Он позволяет вам обращаться к элементам объекта с помощью квадратных скобок ([]
).__setitem__(self, key, value)
: Этот метод позволяет присваивать объекты с индексацией. Он позволяет вам устанавливать значения для элементов объекта с помощью квадратных скобок ([]
).__delitem__(self, key)
: этот метод позволяет удалять элементы из объекта с помощью оператораdel
и квадратных скобок ([]
).__eq__(self, other)
: этот метод сравнивает два объекта на равенство, используя оператор==
. Он возвращаетTrue
, если объекты равны, иFalse
в противном случае.__lt__(self, other)
,__gt__(self, other)
,__le__(self, other)
,__ge__(self, other)
: эти методы определяют операторы сравнения (<
,>
,<=
,>=
) для объектов. Они позволяют выполнять сравнение объектов на основе настраиваемых критериев.__add__(self, other)
: этот метод позволяет добавлять объекты с помощью оператора+
. Он определяет поведение операции сложения для объектов.
Это всего лишь несколько примеров многих методов dunder, доступных в Python. Реализуя эти методы в своих классах, вы можете настроить поведение своих объектов и заставить их беспрепятственно работать со встроенными функциями и операторами Python. Методы Dunder предоставляют мощный способ сделать ваш код более выразительным и интуитивно понятным.
Спасибо, что прочитали. Подпишитесь на меня, чтобы получать уведомления об удивительных блогах. Увидимся в следующей истории.