Python Glossary English

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

ast.While

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

Узел цикла while: test — условие, body — тело, orelse — ветка else, выполняемая при выходе без break.

Синтаксис

ast.While(test, body, orelse)

Поле orelse почти всегда пустое, и про него забывают при обходе и генерации кода — а там может лежать логика «не нашли». В отличие от For, у While нет target и type_comment. Бесконечный while True: хранит в test Constant(True), а не Name, как было до Python 3.

Примеры

import ast
w = ast.parse('while x:\n    x -= 1\nelse:\n    done()').body[0]
print(type(w).__name__, w.test.id, len(w.body), len(w.orelse))  # → While x 1 1
t = ast.parse('while True: pass').body[0].test
print(type(t).__name__, t.value)  # → Constant True

См. также

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