Курс 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"
- Создание вложенных циклов for
- Декораторы в Python
- Получение списка файлов в директории с использованием os
- Переопределение метода len
- Управление виртуальными окружениями в Python
- Определение индекса элемента списка
- Генераторы списков в Python
- Объединение коллекций в Python
- Метод splitlines() для разделения строк
- Вычисление логарифмов в Python
- Progress с библиотекой tqdm
- Регулярные выражения: метод match
- Фильтрация списка от «ложных» значений
- Переворот строки
- OrderedDict — упорядоченный словарь
- Поиск шаблона в начале строки
- Запуск файлового сервера
- Работа с датами в Python
- Многоточие в Python
- Псевдонимы в Python
- Различия символов в Python
- Сохранение и загрузка модели в PyTorch
- Проверка надежности пароля на Python
- Ускорение обработки данных с %autoawait
- Оператор in для Python
- Поиск подстроки в строке
- Работа с атрибутом dict
- Преобразование объекта в строку
- Генератор чисел Фибоначчи
- Декораторы классов
- Обмен данными с asyncio.Queue
- Работа с индексами списков
- Создание словаря через dict comprehension
- Установка Git и AWS CLI
- Метод __complex__ в Python
- Python: Splat-оператор и splatty-splat
- Управление импортом в Python
- Поиск с помощью регулярных выражений
- Переменная Шредингера
- Копирование объектов в Python
- Обмен переменными в Jupyter
- Работа с timedelta в Python
- Игра Виселица на Python
- Лямбда-функции в цикле
- Структуры данных в Python
- Получение текущей директории
- Проверка запуска скрипта или импорта модуля
- Функция __init__ в Python















