Python Glossary English

Python 3.10+typingпонятие

typing.ParamSpecArgs

обобщения и параметры

Тип атрибута P.args у ParamSpec — представляет позиционные аргументы захваченной сигнатуры.

Синтаксис

P.args  # тип ParamSpecArgs

По имени этот тип почти не пишут: в обёртке ставят *args: P.args, **kwargs: P.kwargs, а ParamSpecArgs получается сам. Проверяльщик требует, чтобы P.args и P.kwargs шли парой на одной и той же функции — одно без другого считается ошибкой.

Примеры

from typing import ParamSpec, ParamSpecArgs
P = ParamSpec('P')
print(isinstance(P.args, ParamSpecArgs))   # → True
print(P.args)   # → P.args
print(P.args.__origin__ is P)   # → True
def wrapper(*args: P.args, **kwargs: P.kwargs) -> None: pass
print(wrapper.__annotations__['args'])   # → P.args

См. также

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