Курс 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"
- Библиотека wikipedia для Python
- Объединение Python и Shell
- Фильтрация списков с itertools
- Изменение IP-адреса в Python
- Настройка вывода NumPy
- Функции min(), max(), sum()
- Метод rmatmul для пользовательских матриц
- Обработка исключений в Python
- Метод join для наборов
- Сериализация данных в JSON с помощью json.dumps
- Progress с библиотекой tqdm
- Подсказки при вводе данных в Python
- Работа с collections в Python
- Оператор @ для умножения матриц
- Лямбда-функции для min/max
- Область видимости переменных в Python
- Управление контекстом выполнения кода
- Метод split() в Python
- Установка и использование Virtualenv
- Переопределение метода __pow__
- Генерация фальшивых данных с Faker
- Замена текста с помощью sub
- Использование обратной косой черты в f-строках
- Обрезка изображения с Pillow
- Генераторы данных
- Преобразование вложенного списка
- Блок try…finally в Python
- Эффективная конкатенация строк в Python
- Асинхронный код в Python
- Наиболее частотные элементы с помощью Counter
- Передача аргументов через **arguments
- Работа с комплексными числами
- Функции с необязательными аргументами
- Создание списков в Python
- Цикл while в Python
- Логирование с Logzero: ротация файла
- Названия столбцов в Python таблицах
- Извлечение новостей с помощью newspaper3k
- Решение переменной Шредингера
- Регистрация на TenChat
- Логирование с Logzero
- Блок else в циклах Python
- Модуль inspect
- Создание копии списка в Python
- Функция enumerate в Python















