TGViewer
Python tricks | Хитрости Питона Python tricks | Хитрости Питона @python_tricks · 5.09K subscribers
Post #3066 504
Обычные арифметические операторы (ч.3)

Метод mul(self, other) позволяет определить поведение объекта при использовании оператора умножения *. В данном примере, если операнд other является числом (целым или вещественным), мы умножаем соответствующие координаты вектора на это число и возвращаем новый объект Vector, представляющий результат умножения. Если other не является числом, мы вызываем исключение TypeError, указывая, что операция не поддерживается.

Метод rmul(self, other) позволяет поддерживать коммутативность умножения, т.е. возможность умножения числа на вектор (например, 3 * v). Этот метод просто вызывает mul, чтобы обеспечить одинаковое поведение для обеих форм умножения.

Этот лайфхак полезен при работе с пользовательскими типами данных, такими как векторы, где определение операции умножения имеет смысл. Переопределение методов mul и rmul позволяет объекту поддерживать стандартную математическую операцию умножения в Python.

🔗 Python tricks
More from @python_tricks
  1. Sep 23, 2026Однострочный условный оператор (тернарный оператор) В Python существует возможность исполь…
  2. Sep 22, 2026Сложение списков Не всегда операторы в python ведут себя так, как мы привыкли. Например сл…
  3. Sep 22, 2026🔴 Тестовый собес на Middle Python с разработчиком из Яндекса завтра вечером! [+ разбор 50…
  4. Sep 21, 2026Анатомия декоратора в Python Создадим декоратор @hello_decorator. Декоратор в Python — фун…
  5. Sep 21, 2026Настраиваемый логгер-декоратор Начнем с примера использования. Так мы не перегружаем внима…
  6. Sep 2, 2026Использование zip() для одновременной итерации по нескольким спискам Функция zip() позволя…
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 →