Курс 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. Работа с классами данных
  2. Работа с словарями в Python
  3. Конкатенация строковых литералов
  4. Модуль itertools: эффективная работа с итераторами
  5. Модуль inspect
  6. Установка переменной среды в Python
  7. Объединение строк с помощью метода join
  8. Функция enumerate в Python
  9. Копирование объектов в Python
  10. Удаление дубликатов из списка с помощью dict.fromkeys
  11. Импорт в Python: список all
  12. Определение индекса элемента списка
  13. Принцип одной функции
  14. Методы shutil для работы с файлами
  15. Методы classmethod и staticmethod
  16. Форматирование вывода с F-строками
  17. Работа со списками
  18. Python Метод Union Множеств
  19. Метод join() для объединения элементов
  20. Метод gt в Python
  21. Генераторы в Python
  22. Проблема сравнения словарей
  23. Наследование в программировании
  24. Метод rsub в Python: расширение функциональности вычитания
  25. Преобразование строк в числа с плавающей запятой
  26. Подписка на Kaspersky Team
  27. Проверка на истинность объектов в Python
  28. Контроль точности вывода чисел
  29. Функция zip() в Python
  30. Обновление шаблона base.html
  31. Объединение списков в Python
  32. Метод rename() для переименования файлов и каталогов
  33. Введение в PyTorch
  34. Оптимизация создания строк
  35. Создание словарей и множеств в Python
  36. Функция zip() в Python
  37. Удаление символов новой строки в Python.
  38. split() без разделителя
  39. Генераторные функции в Python
  40. Фильтрация данных в Python.
  41. Нахождение разницы между списками в Python
  42. Форматирование строк в Python
  43. Хранение данных с помощью dataclasses
  44. Функции any() и all() в Python
  45. Глобальные переменные в Python

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