Курс Python → Оператор @ для умножения матриц

Оператор @ в Python представляет собой оператор для умножения матриц. Этот оператор был добавлен в Python 3.5 с целью удовлетворения запросов научного сообщества. В отличие от обычного умножения (*), который используется для умножения чисел или строк, оператор @ предназначен специально для работы с матрицами. Это делает код более читаемым и понятным, особенно при работе с линейной алгеброй.

Для того чтобы использовать оператор @ для умножения матриц, необходимо перегрузить метод __matmul__ в классе объекта. Этот магический метод позволяет определить поведение оператора @ для конкретного типа объекта. Например, если у нас есть класс Matrix, мы можем перегрузить метод __matmul__, чтобы определить умножение матриц для объектов этого класса.


class Matrix:
    def __init__(self, data):
        self.data = data
    
    def __matmul__(self, other):
        # Определение умножения матриц для объектов класса Matrix
        pass

После того как мы перегрузили метод __matmul__ в классе Matrix, мы можем использовать оператор @ для умножения матриц, создавая экземпляры этого класса. Например:


matrix1 = Matrix([[1, 2], [3, 4]])
matrix2 = Matrix([[5, 6], [7, 8]])

result = matrix1 @ matrix2
print(result)

Таким образом, оператор @ предоставляет удобный способ умножения матриц в Python, делая код более читаемым и понятным при работе с линейной алгеброй.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Виртуальное окружение Python
  2. Работа с географическими данными в Python
  3. Отладчик pdb: начало работы
  4. Замена элементов в списке с помощью генераторов списков
  5. Работа со словарями Python
  6. Функция findall() для поиска вхождений строки
  7. Управление асинхронными задачами на Python.
  8. Частичное совпадение ввода
  9. Операции с кортежами
  10. Функциональное программирование.
  11. Метод difference_update() — разность множеств
  12. Создание коллекций из генератора
  13. Значения по умолчанию в Python
  14. Методы и функции в Python
  15. Метод rpow в Python
  16. Импорт модулей в Python 3.12
  17. Использование подчеркивания в REPL
  18. Создание и инициализация объектов
  19. Безопасные SQL-запросы в Python 3.11
  20. Операции с комплексными числами
  21. Проверка типов с использованием isinstance
  22. Подписка на @SelectelNews
  23. Декоратор total_ordering для класса Point
  24. Метод enumerate() в Python
  25. История Python
  26. Работа с контекстными переменными
  27. Сортировка HTML по CSS-селектору
  28. Обработка ошибок ввода данных
  29. Howdoi — получение ответов из терминала
  30. Работа с байтовыми строками в Python
  31. Разделение строк в Python
  32. Асинхронное выполнение задач в процессах
  33. Проверка индексов коллекции
  34. Вложенные функции в Python
  35. JMESPath в Python
  36. Ускорение обработки данных с %autoawait
  37. Возврат нескольких значений
  38. Создание виртуальной среды
  39. Преобразование числа в список цифр
  40. Копирование списков в Python
  41. Работа с массивами в Python
  42. Оператор is в Python

Marketello читают маркетологи из крутых компаний