Следующее работает нормально:
Код: Выделить всё
from typing import TypedDict
Base_t = TypedDict('Base_t', {})
class Base[T: Base_t]:
def get(self) -> T:
...
class Implementation_t(TypedDict):
one: str
two: int
class Implementation[U: Implementation_t](Base[U]):
def get(self) -> U:
...
Код: Выделить всё
type Base_t = dict[str, str|int]
Примечание: Естественно, типы ключа и значения Implementation_t являются подмножествами Base_t соответственно.
Есть ли хороший способ это обозначить?
Мобильная версия