Курс 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
- Форматирование данных с помощью pprint
- Секреты Python
- Создание пустых функций и классов в Python
- Итерации в Python
- Дефолтные параметры в Python
- Комплексные числа в Python
- Сортировка списка по индексам
- Распаковка аргументов в Python
- Проектирование Singleton с метаклассом
- Оператор is в Python
- Метод ne для сравнения объектов
- Python itertools combinations() — группировка элементов
- Частичное совпадение ввода
- Подписка на @SelectelNews
- Обратный список чисел
- Условные выражения в Python
- Поиск всех индексов подстроки
- Преобразование числа в восьмеричную строку
- Методы classmethod и staticmethod
- Управление сессиями в Python
- PATCH-запрос с библиотекой requests
- JSON в Python: модуль, dump, dumps, load
- Подсчет элементов в списке с Counter
- Оператор «not» в Python
- Создание словарей в Python
- Библиотека Chartify: руководство
- Гибкие функции Python
- Ветвление выражения в Python
- Метод __irshift__ для побитового сдвига вправо
- Сглаживание списка
- Colorama: окрашивание текста в Python
- Использование эмодзи в Python
- Пропуск начальных строк с помощью dropwhile()
- Удаление специальных символов
- Замена символов в строке
- Настройка нарезки списков
- Разделение строк в Python
- Оптимизация памяти в Python
- Создание циклической ссылки
- Упрощенный вывод данных в Python
- Типы возвращаемых значений в Python
- Визуализация пропусков данных
- Именование переменных в Python















