Курс 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
  5. Пустой оператор pass в Python
  6. Python: отличительная особенность — отступы
  7. Работа с временем в Python
  8. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  9. Тип данных TypeVarTuple
  10. Работа с буфером обмена на Python
  11. Вычисление логарифмов в Python
  12. GitHub в Telegram: подписка на уведомления
  13. Любовь к Python
  14. Работа с Colorama
  15. Преобразование типов данных в set comprehension
  16. Оформление текста в консоли с TermColor
  17. Метод rsub в Python: расширение функциональности вычитания
  18. Python: Фильтрация списков с помощью filter()
  19. Оператор walrus в Python
  20. Применение функции map() в Python
  21. Группы исключений в Python
  22. Документирование функций в Python
  23. Метод add для класса Vector
  24. Основы слова
  25. Игра «Камень, ножницы, бумага» — Python
  26. Оператор морж в Python 3.8
  27. Генерация случайных чисел в Python
  28. Итераторы с потерямиZIP
  29. Явный импорт в Python
  30. Работа со строками в Python
  31. Numpy: разбиение массивов
  32. Область видимости переменных
  33. Поиск индекса элемента в списке
  34. Поиск всех индексов подстроки
  35. Работа с байтовыми строками в Python
  36. Цикл for в Python
  37. Библиотека Chartify: руководство
  38. Создание комплексных чисел
  39. Тайное преобразование типа ключа
  40. Работа с Requests для HTTP-запросов
  41. Получение ID процесса
  42. Наследование в программировании
  43. Декоратор Ajax required
  44. Работа с NumPy массивами
  45. Объединение кортежей в Python
  46. Генерация случайных чисел в Python
  47. Глобальные переменные в Python
  48. Генераторы в Python

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