Python Glossary English

Python 3.10+typingпонятие

typing.ParamSpecKwargs

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

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

Синтаксис

P.kwargs  # тип ParamSpecKwargs

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

Примеры

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

См. также

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