Python Glossary English

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

ast.Assign

инструкции

Узел инструкции присваивания =: список целей targets, значение value и type_comment. Цепочка a = b = 1 — один узел с двумя целями.

Синтаксис

ast.Assign(targets, value, type_comment=None)

targets — список ради цепочек: a = b = 1 даёт две цели, а распаковка a, b = 1, 2 — одну цель Tuple. С аннотацией (x: int = 1) это уже AnnAssign, с += — AugAssign, а x := 1 внутри выражения — NamedExpr; поиск всех присваиваний обязан смотреть на все четыре. У целей контекст Store.

Примеры

import ast
node = ast.parse('a = b = 1').body[0]
print([t.id for t in node.targets], node.value.value)  # → ['a', 'b'] 1
pair = ast.parse('a, b = 1, 2').body[0]
print(len(pair.targets), type(pair.targets[0]).__name__)  # → 1 Tuple

См. также

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