Курс 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"
- Методы split() и join() — Python строк.
- Эффективная конкатенация строк в Python
- Карта бомбоубежищ в Москве и Питере
- Распаковка с оператором *
- Работа с deque из collections
- Создание детектора плагиата
- Измерение времени выполнения кода с помощью time
- Извлечение аудио из видео
- Проверка ввода с помощью isdigit
- Преобразование Excel в PDF с Spire.XLS
- Асинхронное программирование с asyncio
- Роль object и type в Python
- Оптимизация поиска в словарях
- Проверка типов с помощью isinstance
- Функции map, filter и reduce
- Работа с индексами списков
- Принципы программирования
- Переопределение оператора % для объектов
- Оператор обр. импликации
- Функциональное программирование в Python
- Удаление элемента из списка
- Установка Python3.7 и PIP
- Решатель судоку на Python с pygame
- Управление мышью и клавиатурой с Pyautogui
- Работа с файлами в Python
- Методы работы со строками в Python
- JSON-esque в Python
- Отступы в Python
- Метод join() с набором
- Python Translator: создание локальных переводчиков
- Установка и использование emoji
- Умножение строк и списков
- Оператор «is not» в Python
- Список переменных в Python
- Переопределение метода len
- Создание пользовательской коллекции в Python
- Отправка POST-запроса в REST API
- Генерация случайных данных в NumPy
- *args и **kwargs в Python
- Изменение IP-адреса в Python
- Преобразование символов в нижний регистр
- Фильтрация элементов с помощью islice
- Измерение времени выполнения кода
- Преобразование вложенного списка
- Доступ к локальным переменным
- Работа с необработанными строками
- Метод radd для пользовательских чисел
- Отображение HTML кода в Python















