Python 3.5+typingпонятие
typing.Generic
обобщения и параметры
Базовый класс для создания обобщённых (параметризуемых) пользовательских классов: class Box(Generic[T]).
Синтаксис
class C(typing.Generic[T]): ...
Начиная с Python 3.12 явное наследование Generic[T] почти не нужно — новый синтаксис class Box[T]: (PEP 695) объявляет параметр прямо в заголовке. Учтите, что в рантайме параметр стирается: Box[int] и Box[str] — один и тот же класс, никаких проверок типа при выполнении не происходит.
Примеры
from typing import Generic, TypeVar
T = TypeVar('T')
class Box(Generic[T]):
pass
print(issubclass(Box, Generic)) # → True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности