Курс 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
- Ввод нескольких значений
- Преобразование объекта в строку
- Работа с Enum в Python3.
- Создание комплексных чисел
- Поиск кода
- Взаимодействие с sys
- Очистка списка от False, None, 0, «»
- Обход дочерних элементов BeautifulSoup
- Блок else в Python
- Python-dateutil — работа с датами
- Python Метод sleep() из time
- Метод __call__ в Python
- Работа с Requests для HTTP-запросов
- Классы данных в Python
- Работа со строками в Python
- Работа с timedelta
- Переименование файлов в Python
- Генераторы в Python
- Списковые включения в Python
- Комментарии в Python.
- Обработка ошибок в JSON данных
- Расширение информации об ошибке в Python
- Переворот строки с помощью срезов
- Множественные конструкторы в Python
- Создание списков в Python
- Секреты Python
- Python reversed() функция
- Преобразование генераторов в циклы
- Оператор * в Python
- Использование функции enumerate()
- Фильтрация элементов с помощью islice
- Метод add для класса Vector
- Методы работы со списками
- Работа с argparse
- Решатель судоку на Python с pygame
- Конвертация коллекций в Python.
- Курс по дообучению ChatGPT
- Python Тесты и Гайды
- Модуль xkcd: загрузка комиксов
- Работа с библиотекой xkcd
- Проверка наличия элемента в списке
- Навыки Python: строки, типы данных
- Измерение времени выполнения с помощью time
- Присоединение элементов коллекции
- Работа с PosixPath() в Python















