Курс 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"
- Секреты Python
- Анонимные функции Lambda
- Работа со случайными элементами
- Оператор морж в Python 3.8
- Работа с JSON в Python
- Переопределение метода __rshift__
- Работа с путями в Python
- Создание новых функций с помощью functools.partial
- Блок try…finally в Python
- Методы работы со списками
- Поиск индекса элемента в списке
- Транспонирование 2D-массива с помощью zip
- Динамическая типизация в Python
- Подчеркивание в REPL
- Ввод нескольких значений
- Работа с NumPy.linalg
- Частичное совпадение пользовательского ввода в Python 3.10
- Генераторы в Python
- Модуль xkcd: добавление юмора в Python
- Работа с очередями в Python
- Метод clear для коллекций
- Проблема с изменяемыми аргументами
- Работа с базами данных SQLite
- Подсчет элементов с помощью Counter из collections
- Модуль array: создание и использование массивов
- Поиск частого элемента
- Оптимизация строк в Python
- Показ всплывающих окон Tkinter
- Область видимости переменных
- Управление виртуальными средами в Python
- Метод rename() для переименования файлов и каталогов
- Получение значений из словарей
- Модуль sys: основы
- Удаление ключей из словаря
- Роль object и type в Python
- Ограничение ресурсов в Python
- Распаковка аргументов в Python
- Оператор += в Python
- Многострочные комментарии в Python
- Строковое представление объектов
- Улучшение читаемости кода в Python
- Разрешение имен в Python
- Применение команды break
- Разность множеств
- Оператор break в Python
- Работа с Path в Python
- GitHub в Telegram: подписка на уведомления
- Срез списка в Python
- Таймер обратного отсчета















