Курс 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. Форматирование данных с помощью pprint
  3. Секреты Python
  4. Создание пустых функций и классов в Python
  5. Итерации в Python
  6. Дефолтные параметры в Python
  7. Комплексные числа в Python
  8. Сортировка списка по индексам
  9. Распаковка аргументов в Python
  10. Проектирование Singleton с метаклассом
  11. Оператор is в Python
  12. Метод ne для сравнения объектов
  13. Python itertools combinations() — группировка элементов
  14. Частичное совпадение ввода
  15. Подписка на @SelectelNews
  16. Обратный список чисел
  17. Условные выражения в Python
  18. Поиск всех индексов подстроки
  19. Преобразование числа в восьмеричную строку
  20. Методы classmethod и staticmethod
  21. Управление сессиями в Python
  22. PATCH-запрос с библиотекой requests
  23. JSON в Python: модуль, dump, dumps, load
  24. Подсчет элементов в списке с Counter
  25. Оператор «not» в Python
  26. Создание словарей в Python
  27. Библиотека Chartify: руководство
  28. Гибкие функции Python
  29. Ветвление выражения в Python
  30. Метод __irshift__ для побитового сдвига вправо
  31. Сглаживание списка
  32. Colorama: окрашивание текста в Python
  33. Использование эмодзи в Python
  34. Пропуск начальных строк с помощью dropwhile()
  35. Удаление специальных символов
  36. Замена символов в строке
  37. Настройка нарезки списков
  38. Разделение строк в Python
  39. Оптимизация памяти в Python
  40. Создание циклической ссылки
  41. Упрощенный вывод данных в Python
  42. Типы возвращаемых значений в Python
  43. Визуализация пропусков данных
  44. Именование переменных в Python

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