Python Glossary English

Python 3.0+astпонятие

ast.arg

функции и классы

Узел одного параметра в определении функции: поле arg — имя строкой, annotation — аннотация или None. Составная часть узла arguments.

Синтаксис

ast.arg(arg, annotation=None)

Имя параметра лежит в поле с тем же именем: p.arg, а не p.id и не p.name. Значение по умолчанию в arg не хранится — оно в arguments.defaults или kw_defaults. Не путайте с keyword: keyword — аргумент при вызове f(x=1), а arg — параметр при определении def f(x=1). У arg есть позиции lineno.

Примеры

import ast
f = ast.parse('def f(n: int, *items: str): pass').body[0]
p = f.args.args[0]
print(type(p).__name__, p.arg, ast.unparse(p.annotation))  # → arg n int
print(f.args.vararg.arg, ast.unparse(f.args.vararg.annotation))  # → items str

См. также

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