TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4093 901
Марк Лутц, «Изучаем Python», часть VI, глава 30:

Класс Number предоставляет метод для перехвата создания экземпляра (__init__), а также метод для отлавливания выражений вычитания (__sub__ ). Специальные методы подобного рода являются привязками, которые дают возможность соединяться со встроенными операциями:

class Number:
def __init__(self, start): # Для Number (start)
self.data = start
def __sub__(self, other) : # Для экземпляр - other
return Number(
self.data - other) # Результатом будет новый экземпляр

X = Number(5) # Number.__init__(X, 5)
Y = X - 2 # Number.__sub__ (X, 2)
Y.data # Y является новым экземпляром Number

Метод конструктора __init__ является наиболее употребительным методом перегрузки операций в Python; он присутствует в большинстве классов и применяется для инициализации вновь созданного объекта экземпляра с использованием любых аргументов, указываемых после имени класса. Метод __sub__ исполняет роль бинарной операции аналогично методу __add__, перехватывая выражения вычитания и возвращая в
качестве своего результата новый экземпляр класса (попутно выполняя __init__).
  • ❤ 3
More from @quiz_python
  1. Sep 26, 2026Развёрнутое пояснение: 1. При создании класса __slots__ разрешает экземплярам хранить атри…
  2. Sep 26, 2026Post #4900
  3. Sep 26, 2026Развёрнутое пояснение: 1. deque создаёт очередь из a и b с максимальной длиной 3. 2. appen…
  4. Sep 26, 2026Post #4898
  5. Sep 25, 2026Развёрнутое пояснение: 1. defaultdict(int) создаёт словарь, в котором фабрика int возвраща…
  6. Sep 25, 2026Post #4896
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →