Курс 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. Сортировка элементов в Python
  4. Проверка подстроки в строке с помощью in
  5. Операции со строками в Python
  6. Автоматизация с Python
  7. Группировка элементов Python
  8. Операторы присваивания в Python
  9. Логирование в Python
  10. Проверка индексов коллекции
  11. Создание словарей в Python
  12. Генераторные выражения и islice.
  13. Многострочные комментарии в Python
  14. Обработка ошибок в Python
  15. Основные функции и модули Python
  16. Генерация ключей RSA
  17. Проверка файла .py на синтаксис.
  18. Перетасовка списков в Python
  19. Установка переменной среды в Python
  20. Принципы Zen of Python
  21. Замена текста в Python
  22. Поиск элементов BeautifulSoup
  23. Проверка элемента в множестве.
  24. Функция map() и ленивая оценка
  25. Загрузка постов Instagram
  26. Работа со строками в Python
  27. Подписка на каналы разработчиков
  28. Оператор умножения для вектора
  29. Метод rlshift для битового сдвига
  30. Работа со временем в Python
  31. Изменения в обработке логических значений
  32. Функция enumerate() в Python
  33. Разработка Telegram-ботов
  34. Хешируемые ключи в Python
  35. Рациональные числа в Python
  36. Создание множества в Python
  37. Генераторы в Python
  38. Декоратор total_ordering для класса Point
  39. Различия символов в Python
  40. Многострочные строки в Python
  41. Константы в модуле cmath
  42. Контекстный менеджер в Python
  43. Установка и использование emoji
  44. Исправление ошибки NameError

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