⚡ Кратко
Используйте эту страницу как шпаргалку: найдите нужную конструкцию, сравните синтаксис с примером и затем примените её в своём коде.
Абстрактные классы
| Конструкция | Назначение |
from abc import ABC, abstractmethod | Импорт базы и декоратора |
class C(ABC): | Абстрактный базовый класс |
@abstractmethod | Метод без реализации, обязательный в наследнике |
C() | Вызовет TypeError, если есть нереализованные методы |
Docstrings
| Конструкция | Назначение |
"""Описание.""" под class | Документация класса |
ClassName.__doc__ | Доступ к строке документации |
help(ClassName) | Вывод документации в консоль |
Пользовательские исключения
| Конструкция | Назначение |
class MyError(Exception): | Базовое пользовательское исключение |
class MyError(ValueError): | Более точный тип ошибки |
raise MyError("msg") | Выбросить исключение |
def __init__(self, value): self.value = value | Хранение дополнительного контекста |
super().__init__("msg") | Передача сообщения базовому Exception |
Методы сравнения
| Метод | Оператор | Назначение |
__eq__ | == | Равенство |
__ne__ | != | Неравенство |
__lt__ | < | Меньше |
__le__ | <= | Меньше или равно |
__gt__ | > | Больше |
__ge__ | >= | Больше или равно |
@total_ordering | — | Автоматическое добавление недостающих сравнений |
Контейнерные методы
| Метод | Оператор | Назначение |
__getitem__ | obj[key] | Получить элемент |
__setitem__ | obj[key] = value | Установить элемент |
__contains__ | key in obj | Проверить вхождение |
__len__ | len(obj) | Количество элементов |
Арифметические методы
| Метод | Оператор | Метод | Оператор |
__add__ | + | __iadd__ | += |
__sub__ | - | __isub__ | -= |
__mul__ | * | __imul__ | *= |
__truediv__ | / | __itruediv__ | /= |
__floordiv__ | // | __ifloordiv__ | //= |
__mod__ | % | __imod__ | %= |
__pow__ | ** | __ipow__ | **= |
Прочие полезные методы
| Метод | Использование | Назначение |
__bool__ | bool(obj), if obj: | Логическое значение объекта |
__call__ | obj(...) | Объект как функция |
__str__ | str(obj), print(obj) | Читаемое строковое представление |
__repr__ | repr(obj) | Формальное представление для отладки |