Метод | Перегружает | Вызывается |
__init__ | Конструктор | При создании объекта:
|
__del__ | Деструктор | При уничтожении объекта |
__add__ | Оператор + |
если отсутствует метод __iadd__:
|
__or__ | Оператор | (побитовое или) |
если отсутствует метод __ior__
|
__repr__, __str__ | Вывод, преобразование |
|
__call__ | Вызов функции |
|
__getattr__ | Обращение к несуществующему атрибуту |
|
__setattr__ | Присваивание атрибуту |
|
__delattr__ | Удаление атрибута |
|
__getattribute__ | Обращение к атрибуту |
|
__getitem__ | Доступ к элементу по индексу, извлечение среза, итерация |
циклы for и другие конструкции итерации, при отсутствии метода __iter__ |
__setitem__ | Присваивание элементу по индексу или срезу |
|
__delitem__ | Удаление элемента по индексу или среза |
|
__len__ | Длина |
проверка истинности, если отсутствует метод __bool__ |
__bool__ | Проверка логического значения |
|
__lt__, __gt__, __le__, __ge__, __eq__, __ne__, | Сравнивание |
|
__radd__ | Правосторонний оператор + |
|
__iadd__ | Добавление |
в ином случае (__add__) |
__iter__, __next__ | Итерационный контекст |
циклы for, оператор in (если не определен метод __contains__), все типы генераторов, map(f, x) и другие |
__contains__ | Проверка на вхождение |
|
__index__ | Целое число |
|
__enter__, __exit__ | Менеджеры контекстов |
|
__get__, __set__, __delete__ | Дескрипторы атрибутов |
|
__new__ | Создание | Вызывается при создании объектов, перед вызовом метода __init__ |
Решения задач, сравнения и обзоры библиотек, краткие руководства, шпаргалки и прочее о Python, что не получается удержать в голове.
четверг, 30 июля 2015 г.
Общие методы перегрузки операторов
Наиболее часто используемые методы перегрузки операторов.