Python Glossary English

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

ast.Tuple

литералы

Узел кортежа: elts — элементы, ctx — Load или Store. Создаётся запятой, а не скобками: и 1, 2, и цель a, b = … — это Tuple.

Синтаксис

ast.Tuple(elts, ctx=ast.Load())

(1) разбирается в Constant, а 1, — в Tuple: кортеж делает запятая. Tuple возникает и там, где скобок не видно: d[1, 2] даёт Subscript со slice-кортежем, return a, b — Return с Tuple, a, b = b, a — Tuple и слева (Store), и справа (Load). Пустой () — Tuple с пустым elts.

Примеры

import ast
for src in ('(1)', '1,', '()'):
    print(type(ast.parse(src, mode='eval').body).__name__)  # → Constant / Tuple / Tuple
import ast
n = ast.parse('a, b = b, a').body[0]
print(type(n.targets[0].ctx).__name__, type(n.value.ctx).__name__)  # → Store Load
print(type(ast.parse('d[1, 2]', mode='eval').body.slice).__name__)  # → Tuple

См. также

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