все Python 3astпонятие
ast.Return
функции и классы
Узел инструкции return: value — возвращаемое выражение или None для голого return.
Синтаксис
ast.Return(value=None)
Голый return и return None различаются в дереве: в первом value равно None, во втором — Constant(None). return a, b кладёт в value один Tuple. ast.parse принимает return вне функции, и только compile() сообщает «'return' outside function» — синтаксический анализ и проверка контекста разделены.
Примеры
import ast
print(ast.parse('return').body[0].value) # → None
print(type(ast.parse('return None').body[0].value).__name__) # → Constant
print(type(ast.parse('return a, b').body[0].value).__name__) # → Tuple
import ast
try:
compile(ast.parse('return 1'), '<ast>', 'exec')
except SyntaxError as e:
print(e.msg) # → 'return' outside function
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности