Сообщить об ошибке.

Тип аннотации Generic модуля typing в Python

Аннотация универсальных типов

Не используется в аннотациях, являются строительным блоком для создания универсальных типов.

Синтаксис:

from typing import Generic

Generic[X, Y]

Параметры:

  • X - аннотация аргумента,
  • Y - аннотация возвращаемого значения.

Описание:

Тип аннотации Generic() модуля typing представляет собой абстрактный базовый класс для универсальных типов.

Универсальный тип обычно объявляется путем наследования от экземпляра этого класса с одной или несколькими переменными типа.

Например, общий тип сопоставления может быть определен как:

class Mapping(Generic[KT, VT]):
    def __getitem__(self, key: KT) -> VT:
        ...
        # Etc.

Затем этот класс можно использовать следующим образом:

X = TypeVar('X')
Y = TypeVar('Y')

def lookup_name(mapping: Mapping[X, Y], key: X, default: Y) -> Y:
    try:
        return mapping[key]
    except KeyError:
        return default