Python Glossary English

Python 3.3+astпонятие

ast.withitem

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

Узел одного менеджера контекста в with: context_expr — выражение, optional_vars — цель после as или None. Список items у With и AsyncWith.

Синтаксис

ast.withitem(context_expr, optional_vars=None)

with open(a) as f, open(b) as g — один With с двумя withitem, а не вложенные With. Цель после as — выражение в контексте Store: обычно Name, но может быть кортеж (as (x, y)) или атрибут. У withitem нет своих позиций, только у With.

Примеры

import ast
w = ast.parse('with open(a) as f, lock:\n    pass').body[0]
for item in w.items:
    target = item.optional_vars.id if item.optional_vars else None
    print(ast.unparse(item.context_expr), target)  # → open(a) f / lock None
print(type(w.items[0].optional_vars.ctx).__name__)  # → Store

См. также

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