Python Glossary English

Python 3.5+operatorфункция

operator.imatmul

на месте (in-place)

In-place матричное умножение: a @= b (вызывает __imatmul__).

Синтаксис

operator.imatmul(a, b)

Встроенные типы не поддерживают @=: imatmul([1], [2]) поднимает TypeError. Смысл появляется у библиотечных массивов. Если в классе нет __imatmul__, вызов откатывается на __matmul__ и возвращает новый объект, а исходный не меняется, — поэтому, как и для неизменяемых типов, результат нужно присваивать.

Примеры

import operator
class M:
    def __imatmul__(self, other): return 'imm'
print(operator.imatmul(M(), M()))   # → imm

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности