Курс 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
- Функция all() в Python
- Компиляция регулярных выражений
- Метод ne для сравнения объектов
- Метод index() в Python
- Подсказки типов в Python
- Обучение модели с указанием эпох
- Метод clear для коллекций
- Хеши в Python
- Блок else в обработке исключений
- Проблемы с dict в Python
- Принципы Zen of Python
- Работа с модулем cmath
- Абстракции словарей и множеств в Python
- Работа с deque из collections
- Создание графиков в терминале
- Сложные типы данных в Python
- Форматирование данных с помощью pprint
- Применение функции map() с лямбда-функциями
- Метод splitlines() для разделения строк
- Метод __int__ в Python
- Работа с путями в Python
- Решатель судоку на Python с pygame
- Возврат нескольких значений из функции
- PUT запрос для обновления данных
- Генераторы списков в Python
- Активация Matplotlib в Jupyter
- Удаление первого элемента списка
- Генераторы в Python
- Обработка ошибок ввода данных
- Печать календаря
- Функция zip() в Python
- Функции map, filter, reduce
- Вывод сложных структур данных с помощью pprint
- Замена элементов в списке с помощью генераторов списков
- Конвертация коллекций в Python
- Методы HTTP запросов в Flask
- Создание уникального проекта
- Печать месячного календаря
- Удаление ключа из словаря
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Перемешивание списка с shuffle()
- Чтение и запись TOML-конфигов
- Списковое включение в Python
- Обработка исключений в Python 3
- Метод сравнения объектов в Python















