Курс 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. Переворот строки с использованием цикла
  3. Метод rpow в Python
  4. Основы работы с os
  5. Обмен значений переменных в Python
  6. Получение текущей директории
  7. Печать месячного календаря
  8. Добавление элементов в список
  9. Сортировка элементов с OrderedDict
  10. Генераторы в Python
  11. Виртуальные среды в Python
  12. Доступ к локальным переменным
  13. Инвертирование словаря
  14. Блок else в Python
  15. Вложенные функции в Python
  16. Различия символов в Python
  17. Выбор редактора кода.
  18. Регистрация на TenChat
  19. Retrying в Python: повторные вызовы
  20. Magic Commands — улучшение работы с Python
  21. Генераторы в Python
  22. Работа с JSON данными в Python
  23. Метод get() в Python
  24. Метод hash в Python
  25. Преобразование Word в PDF с Spire.Doc
  26. Использование функции enumerate()
  27. Установка виртуального окружения Python
  28. Списковое включение в Python
  29. Функции в Python: создание и вызов
  30. Проверка списка: any() и all()
  31. Метод matmul для умножения матриц
  32. Обход дочерних элементов BeautifulSoup
  33. Изменения в обработке логических значений
  34. Сокращение ссылок с pyshorteners
  35. Форматирование заголовков в Python
  36. Декораторы с аргументами
  37. Получение текущей даты и времени с помощью datetime
  38. Итераторы с потерямиZIP
  39. Обезопасьте ввод данных
  40. Создание итерируемых объектов
  41. Профилирование данных с Pandas.
  42. Склеивание строк через метод join()

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