Курс 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"
- Прокачанный трейсинг ошибок
- Генератор надежных паролей
- Модуль math: константы π и e
- Модуль subprocess: запуск внешних команд
- Разрешение имен в Python
- Работа с IP-адресами в Python
- Создание .exe файла с pyinstaller
- Структура данных словарь в Python
- Библиотека itertools: объединение списков
- Отслеживание выполнения программы с библиотекой tqdm
- Скрытие вывода данных
- Нахождение отличий в списках
- Измерение времени выполнения кода
- Нан-рефлексивность в Python
- Работа с модулем random
- Оператор * в Python
- Списковые включения в Python
- Итераторы в Python
- Встроенные функции Python
- Оператор continue в Python
- Возврат нескольких значений из функции
- Получение атрибутов и методов класса
- Управление фоновыми задачами в Python
- Модуль pprint: улучшение вывода данных
- Непрерывная проверка в Python
- Создание словарей в Python
- Создание списка дат
- Работа с Colorama
- Разделение строки с помощью re.split()
- Декоратор total_ordering для сравнения объектов
- Функции-генераторы в Python
- Использование модуля math
- Настройка вывода NumPy
- Установка максимального количества цифр
- Приоритет операций в Python
- Сравнение объектов в Python
- Использование функции product
- Склеивание строк без циклов
- Выход из профиля в Django
- Переопределение метода
- Разделение строки с помощью re.split()
- Метод __irshift__ для побитового сдвига вправо
- Документирование функций в Python
- Асинхронное программирование с asyncio
- Декораторы в Python
- Замена текста с re.sub()
- Поиск индекса элемента
- Статическая типизация в Python















