Python 3.8+typingфункция
typing.get_args
интроспекция
Возвращает кортеж аргументов обобщённого типа: get_args(list[int]) → (int,).
Синтаксис
typing.get_args(tp)
На обычном непараметризованном типе возвращает пустой кортеж: get_args(int) → (). Обычно применяют в паре с get_origin, чтобы на лету разобрать аннотацию; для Callable первый элемент — целый список аргументов, а не отдельные типы: get_args(Callable[[int], str]) → ([int], str).
Примеры
# Python 3.9+
from typing import get_args, get_origin, Literal
print(get_args(list[int]) == (int,)) # → True
print([t.__name__ for t in get_args(dict[str, int])]) # → ['str', 'int']
print(get_args(Literal['a', 'b'])) # → ('a', 'b')
print(get_args(int)) # → ()
print(get_origin(list[int])) # → <class 'list'>
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности