Курс 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
- Мониторинг работы программы Py-spy
- Асинхронное программирование с asyncio
- Замыкания в Python
- Форматирование строк в Python
- Namedtuple в Python
- Оптимизация поиска в словарях
- Переменная с нижним подчеркиванием
- Перегрузка операторов в Python
- Сложение матриц в NumPy
- Очистка данных с помощью pandas
- Игра «Угадывание чисел»
- Поиск самого частого элемента
- Частичное применение функций в Python
- Профилирование данных с Pandas.
- Структура строк в Python
- Отправка POST запроса на сервер.
- Создание тестовых данных с Faker
- Библиотека Rich: форматирование текста
- Оператор space-invader
- Определение функций с необязательными аргументами
- Метод pos в Python
- Разделение списка на гнппы
- Форматирование строк в Python.
- Тестирование с unittest
- Создание .exe файла с pyinstaller
- Декораторы в Python
- Python: библиотеки и функции
- Получение срезов итераторов
- Отслеживание выполнения программы с библиотекой tqdm
- Область видимости переменных
- Генераторы в Python
- Операция += для списков
- Обработка аргументов Python
- Установка и использование библиотеки google
- Работа с путями в Python
- Python Метод sleep() времени
- Вставка переменных в шаблоны Flask
- Преобразование символов с помощью map
- Использование функции product
- Удаление знаков препинания в Python
- Копирование словарей и списков в Python
- Зарезервированные слова в Python
- Генераторы в Python
- Функция product() из itertools
- Создание обратного итератора
- Преобразование регистра символов















