Курс 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. Преобразование объекта в строку
  5. Работа с Enum в Python3.
  6. Создание комплексных чисел
  7. Поиск кода
  8. Взаимодействие с sys
  9. Очистка списка от False, None, 0, «»
  10. Обход дочерних элементов BeautifulSoup
  11. Блок else в Python
  12. Python-dateutil — работа с датами
  13. Python Метод sleep() из time
  14. Метод __call__ в Python
  15. Работа с Requests для HTTP-запросов
  16. Классы данных в Python
  17. Работа со строками в Python
  18. Работа с timedelta
  19. Переименование файлов в Python
  20. Генераторы в Python
  21. Списковые включения в Python
  22. Комментарии в Python.
  23. Обработка ошибок в JSON данных
  24. Расширение информации об ошибке в Python
  25. Переворот строки с помощью срезов
  26. Множественные конструкторы в Python
  27. Создание списков в Python
  28. Секреты Python
  29. Python reversed() функция
  30. Преобразование генераторов в циклы
  31. Оператор * в Python
  32. Использование функции enumerate()
  33. Фильтрация элементов с помощью islice
  34. Метод add для класса Vector
  35. Методы работы со списками
  36. Работа с argparse
  37. Решатель судоку на Python с pygame
  38. Конвертация коллекций в Python.
  39. Курс по дообучению ChatGPT
  40. Python Тесты и Гайды
  41. Модуль xkcd: загрузка комиксов
  42. Работа с библиотекой xkcd
  43. Проверка наличия элемента в списке
  44. Навыки Python: строки, типы данных
  45. Измерение времени выполнения с помощью time
  46. Присоединение элементов коллекции
  47. Работа с PosixPath() в Python

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