Python Glossary English

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Сообщить о неточности