Python Glossary English

все Python 3astпонятие

ast.UAdd

операторы

Оператор унарного плюса +x в поле op узла UnaryOp.

Синтаксис

ast.UAdd()

Унарный плюс не пустышка: он вызывает __pos__ и для Decimal, например, округляет значение до точности контекста. Поэтому +5 в дереве — UnaryOp(UAdd, Constant(5)), а не Constant, и оптимизатор не вправе его выбросить. Бинарный + — это Add в BinOp.

Примеры

import ast
n = ast.parse('+5', mode='eval').body
print(type(n).__name__, type(n.op).__name__)  # → UnaryOp UAdd
from decimal import Decimal, localcontext
with localcontext() as ctx:
    ctx.prec = 3
    print(+Decimal('1.23456'))  # → 1.23

См. также

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