Python Glossary English

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

ast.keyword

выражения

Узел именованного аргумента в вызове f(key=value) или в определении class C(metaclass=M). Поля: arg — имя строкой, value — выражение.

Синтаксис

ast.keyword(arg, value)

Распаковка f(**opts) — тоже keyword, но с arg=None: код, который читает kw.arg как строку, падает на таких вызовах. Именованные аргументы лежат в Call.keywords, а не в Call.args; позиционная распаковка *args — Starred внутри args. В отличие от arg из определения функции, у keyword нет аннотации.

Примеры

import ast
call = ast.parse('print(a, sep="-", **opts)', mode='eval').body
for kw in call.keywords:
    print(kw.arg, ast.unparse(kw.value))  # → sep '-' / None opts
print(len(call.args))  # → 1

См. также

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