Курс 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
- Работа с географическими данными в Python
- Отладчик pdb: начало работы
- Замена элементов в списке с помощью генераторов списков
- Работа со словарями Python
- Функция findall() для поиска вхождений строки
- Управление асинхронными задачами на Python.
- Частичное совпадение ввода
- Операции с кортежами
- Функциональное программирование.
- Метод difference_update() — разность множеств
- Создание коллекций из генератора
- Значения по умолчанию в Python
- Методы и функции в Python
- Метод rpow в Python
- Импорт модулей в Python 3.12
- Использование подчеркивания в REPL
- Создание и инициализация объектов
- Безопасные SQL-запросы в Python 3.11
- Операции с комплексными числами
- Проверка типов с использованием isinstance
- Подписка на @SelectelNews
- Декоратор total_ordering для класса Point
- Метод enumerate() в Python
- История Python
- Работа с контекстными переменными
- Сортировка HTML по CSS-селектору
- Обработка ошибок ввода данных
- Howdoi — получение ответов из терминала
- Работа с байтовыми строками в Python
- Разделение строк в Python
- Асинхронное выполнение задач в процессах
- Проверка индексов коллекции
- Вложенные функции в Python
- JMESPath в Python
- Ускорение обработки данных с %autoawait
- Возврат нескольких значений
- Создание виртуальной среды
- Преобразование числа в список цифр
- Копирование списков в Python
- Работа с массивами в Python
- Оператор is в Python















