Курс 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. Метод classmethod
  2. Инвертирование словаря
  3. Получение списка кортежей из словаря
  4. Генераторы в Python
  5. Исключение NotImplementedError
  6. Метод join для наборов
  7. Хеширование паролей с солью
  8. Функция enumerate в Python
  9. Работа с коллекциями Python
  10. Генерация фальшивых данных с Faker
  11. Python: цикл for и оператор присваивания
  12. Удаление символов новой строки в Python.
  13. Реверс строки и списка в Python.
  14. Оптимизация памяти в Python
  15. Пропуск начальных строк с помощью dropwhile()
  16. Функция product() в Python
  17. Оценка точности модели
  18. Счетчик в Python: most_common()
  19. Получение текущей даты и времени
  20. Работа с комбинациями в Python.
  21. Библиотека Chartify: руководство
  22. Работа с CSV файлами в Python
  23. Создание графиков в терминале
  24. Создание итератора
  25. Импорт модуля из другого каталога
  26. Создание спинбокса в tkinter
  27. Работа с часовыми поясами в Python
  28. Сравнение неупорядоченных списков
  29. Расчет времени выполнения
  30. Форматирование строк в Python
  31. Сортировка с помощью key
  32. Регистрация на курсы SF Education
  33. Работа с изменяемыми коллекциями
  34. Модуль os в Python: работа с файлами
  35. Функции map() и reduce() в Python
  36. Управление мышью и клавиатурой с Pyautogui
  37. Просмотр файла в Jupyter Noteboo
  38. Удаление элемента по индексу
  39. Функция pow() — возвести число в степень
  40. Цикл for с enumerate() в Python
  41. Правила именования переменных
  42. Списковые включения в Python
  43. Проектирование Singleton с метаклассом
  44. Библиотека wikipedia для Python
  45. Описание скриптов в README
  46. Выбор редактора кода.
  47. Объединение множеств в Python

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