Курс 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
- Метод eq для сравнения объектов
- Получение пути к текущему скрипту с помощью os
- Декораторы с @wraps
- Присвоение значений переменным в Python
- Библиотека funcy: удобные утилиты
- Магические методы в Python
- inspect в Python: анализ кода
- Объединение словарей в Python
- Поиск простых чисел
- Метод setdefault() в Python
- Управление доступом к модулю
- Удаление элементов из списка в Python
- Деление в Python
- Метод join() для объединения строк
- Работа с атрибутом dict
- Переворот строки
- Работа с CSV файлами в Python
- Карта бомбоубежищ в Москве и Питере
- Значения по умолчанию в Python
- *args и **kwargs в Python
- Чтение и запись TOML-конфигов
- Модуль math: основные функции
- Поиск наиболее частого элемента в списке
- Лимиты на ресурсы Python
- Переопределение оператора % для объектов
- Работа с географическими данными.
- Срез списка в Python
- Область видимости переменных
- Генерация UUID в Python
- Доступ к локальным переменным
- Создание коллекций из выражения-генератора
- Фильтрация данных в Python.
- Работа со строками в Python.
- Взаимодействие с внешними процессами в Python
- Python itertools combinations() — группировка элементов
- Переворот последовательности
- Форматирование вывода с F-строками
- Взаимодействие с sys
- Декоратор Ajax required
- Проекты на Python
- Оператор объединения словарей
- Оптимизация гиперпараметров с Scikit Optimize
- Просмотр файла в Jupyter Noteboo
- Функции в Python
- Операции с датами в Python















