Python Glossary English

Python 3.5+astпонятие

ast.MatMult

операторы

Маркер бинарного оператора @ в дереве ast: лежит в поле BinOp.op и AugAssign.op и полей не имеет.

Синтаксис

ast.MatMult()

Оператор @ (матричное умножение, PEP 465) встроенные типы не поддерживают — его реализуют numpy и подобные через __matmul__. Тот же символ @ перед def — декоратор: он попадает в FunctionDef.decorator_list, а MatMult не создаёт. 'a @= b' — AugAssign с MatMult.

Примеры

import ast
print(type(ast.parse('a @ b', mode='eval').body.op).__name__)  # → MatMult
fn = ast.parse('@cache\ndef f(): pass').body[0]
print(fn.decorator_list[0].id)  # → cache

См. также

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