Python Glossary English

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

ast.Break

управление потоком

Узел инструкции break без полей: прерывает ближайший цикл. В дереве это просто элемент списка body.

Синтаксис

ast.Break()

ast.parse('break') проходит без ошибки — проверку «break вне цикла» делает компилятор, и SyntaxError появится только в compile(). Поэтому дерево из parse() ещё не гарантирует исполнимый код. У узла _fields пуст, но координаты lineno и col_offset есть, как у любой инструкции.

Примеры

import ast
tree = ast.parse('break')
print(type(tree.body[0]).__name__, ast.Break._fields)  # → Break ()
try:
    compile(tree, '<src>', 'exec')
except SyntaxError as e:
    print(e.msg)  # → 'break' outside loop

См. также

Частые ошибки

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