Курс 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. Мониторинг работы программы Py-spy
  3. Асинхронное программирование с asyncio
  4. Замыкания в Python
  5. Форматирование строк в Python
  6. Namedtuple в Python
  7. Оптимизация поиска в словарях
  8. Переменная с нижним подчеркиванием
  9. Перегрузка операторов в Python
  10. Сложение матриц в NumPy
  11. Очистка данных с помощью pandas
  12. Игра «Угадывание чисел»
  13. Поиск самого частого элемента
  14. Частичное применение функций в Python
  15. Профилирование данных с Pandas.
  16. Структура строк в Python
  17. Отправка POST запроса на сервер.
  18. Создание тестовых данных с Faker
  19. Библиотека Rich: форматирование текста
  20. Оператор space-invader
  21. Определение функций с необязательными аргументами
  22. Метод pos в Python
  23. Разделение списка на гнппы
  24. Форматирование строк в Python.
  25. Тестирование с unittest
  26. Создание .exe файла с pyinstaller
  27. Декораторы в Python
  28. Python: библиотеки и функции
  29. Получение срезов итераторов
  30. Отслеживание выполнения программы с библиотекой tqdm
  31. Область видимости переменных
  32. Генераторы в Python
  33. Операция += для списков
  34. Обработка аргументов Python
  35. Установка и использование библиотеки google
  36. Работа с путями в Python
  37. Python Метод sleep() времени
  38. Вставка переменных в шаблоны Flask
  39. Преобразование символов с помощью map
  40. Использование функции product
  41. Удаление знаков препинания в Python
  42. Копирование словарей и списков в Python
  43. Зарезервированные слова в Python
  44. Генераторы в Python
  45. Функция product() из itertools
  46. Создание обратного итератора
  47. Преобразование регистра символов

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