Python Glossary English

все Python 3inspectфункция

inspect.getargvalues()

стек и кадры

По кадру возвращает ArgInfo: имена аргументов, имена *args и **kwargs и словарь локальных переменных кадра.

Синтаксис

inspect.getargvalues(frame)

Значения берутся из локальных переменных в момент вызова getargvalues, а не те, что передали: если функция успела переприсвоить параметр, увидите новое значение. keyword-only параметры входят в args наравне с обычными. Пометка «устарела» в документации 3.5 была ошибкой, функция поддерживается. Результат — именованный кортеж ArgInfo; недокументированные getargs и Arguments — его внутренняя кухня.

Примеры

import inspect
def kw(a, *rest, b=1, **opts):
    a = a * 100
    frame = inspect.currentframe()
    try:
        info = inspect.getargvalues(frame)
        return info.args, info.varargs, info.keywords, info.locals['a']
    finally:
        del frame
print(kw(1))  # → (['a', 'b'], 'rest', 'opts', 100)

См. также

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