Курс 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. Подсчет элементов в списке с Counter
  4. Python: цикл for и оператор присваивания
  5. Глубокое копирование объектов
  6. Генераторы в Python
  7. Применение функции к списку
  8. Функция zip() в Python
  9. Работа с процессами в Python
  10. Генераторы в Python
  11. Работа с YAML в Python
  12. Модуль array: создание и использование массивов
  13. Метод add для класса Vector
  14. Многострочные строки в Python
  15. Измерение времени выполнения
  16. Определение функций с необязательными аргументами
  17. Сортировка данных в Python
  18. Управление мышью и клавиатурой с Pyautogui
  19. Генераторы в Python
  20. Переименование файлов в Python
  21. Импорт модуля из другого каталога
  22. Модуль xkcd: добавление юмора в Python
  23. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  24. Проверка однородности элементов списка
  25. Сортировка списка по индексам
  26. Импорт классов из другого файла
  27. Оператор «not» в Python
  28. Генераторы в Python
  29. Переменные класса и экземпляра
  30. Метод count() для списка
  31. Метод splitlines() для разделения строк
  32. Преобразование строки в число
  33. Мониторинг памяти с Pympler
  34. Получение срезов итераторов
  35. JSON-esque в Python
  36. Работа с SQLite в Python
  37. Обработка ошибок в Python
  38. Импорт с альтернативным именем
  39. Работа с argparse
  40. Создание и обучение модели с Keras
  41. Оператор in и not in в Python
  42. Очистка вывода в Python
  43. Использование эмодзи в Python
  44. Использование модуля math
  45. Извлечение новостей с newspaper3k

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