Курс 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. Метод eq для сравнения объектов
  4. Получение пути к текущему скрипту с помощью os
  5. Декораторы с @wraps
  6. Присвоение значений переменным в Python
  7. Библиотека funcy: удобные утилиты
  8. Магические методы в Python
  9. inspect в Python: анализ кода
  10. Объединение словарей в Python
  11. Поиск простых чисел
  12. Метод setdefault() в Python
  13. Управление доступом к модулю
  14. Удаление элементов из списка в Python
  15. Деление в Python
  16. Метод join() для объединения строк
  17. Работа с атрибутом dict
  18. Переворот строки
  19. Работа с CSV файлами в Python
  20. Карта бомбоубежищ в Москве и Питере
  21. Значения по умолчанию в Python
  22. *args и **kwargs в Python
  23. Чтение и запись TOML-конфигов
  24. Модуль math: основные функции
  25. Поиск наиболее частого элемента в списке
  26. Лимиты на ресурсы Python
  27. Переопределение оператора % для объектов
  28. Работа с географическими данными.
  29. Срез списка в Python
  30. Область видимости переменных
  31. Генерация UUID в Python
  32. Доступ к локальным переменным
  33. Создание коллекций из выражения-генератора
  34. Фильтрация данных в Python.
  35. Работа со строками в Python.
  36. Взаимодействие с внешними процессами в Python
  37. Python itertools combinations() — группировка элементов
  38. Переворот последовательности
  39. Форматирование вывода с F-строками
  40. Взаимодействие с sys
  41. Декоратор Ajax required
  42. Проекты на Python
  43. Оператор объединения словарей
  44. Оптимизация гиперпараметров с Scikit Optimize
  45. Просмотр файла в Jupyter Noteboo
  46. Функции в Python
  47. Операции с датами в Python

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