Курс 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. Работа с базами данных SQLite
  2. Создание панели меню Tkinter
  3. Списковые включения в Python
  4. Функциональное программирование.
  5. Преобразование PowerPoint в PDF.
  6. Срезы в Python
  7. Вызов внешних программ в Python с помощью sh
  8. Роль ключевого слова self
  9. Операции с числами в Python
  10. Сравнение строк в Python
  11. GitHub в Telegram: подписка на уведомления
  12. Модуль future Python
  13. Форматирование строк в Python
  14. Работа с процессами в Python
  15. Метод difference_update() — разность множеств
  16. Обработка исключений в Python
  17. Метод setdefault() в Python
  18. Основы Python за 14 дней
  19. Получение текущей даты в Python
  20. Метод enumerate() в Python
  21. Печать в одной строке
  22. Компиляция регулярных выражений
  23. Проверка наличия элемента в списке
  24. Методы сравнения множеств
  25. Удаление элементов из списка
  26. Разделение списка на гнппы
  27. Управление экспортом элементов
  28. Итераторы в Python
  29. Создание словаря в Python
  30. Обучение модели с указанием эпох
  31. Функции высшего порядка в Python
  32. Итерация по копии коллекции
  33. Объединение кортежей в Python
  34. Проверка на палиндром
  35. Инициализация структур данных
  36. Преобразование регистра символов
  37. Оценка точности модели
  38. Упрощенный вывод данных в Python
  39. Метод clear для коллекций
  40. Определение имен функций
  41. Создание словарей и множеств в Python.
  42. Создание уникального множества
  43. Сохранение и загрузка модели в PyTorch
  44. Конкатенация строк с join() в Python
  45. Глубокое копирование объектов
  46. Проверка кортежей.

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