Сужение dict до TypedDictPython

Программы на Python
Anonymous
Сужение dict до TypedDict

Сообщение Anonymous »

Я хочу сузить однозначно определенный тип dict[...] в суперклассе до определенного TypedDict в наследующем классе, но я не могу найти способ указать супертип на основе dict, которому может быть назначен TypedDict. Я использую pylance (стандартный).
Следующее работает нормально:

Код: Выделить всё

from typing import TypedDict

Base_t = TypedDict('Base_t', {})

class Implementation_t(TypedDict):
one: str
two: int

implementation: Base_t = Implementation_t(one="one", two=2)
Однако, если я хочу указать Base_t более узко (т. е. указать типы карты), например:

Код: Выделить всё

type Base_t = dict[str, str|int]
Проверке типов не удается присвоить Implementation_t Base_t. Мне нужен способ определить супертип для TypedDict Implementation_t, который определяет типы ключей и значений, но не какие-либо конкретные поля.
Естественно, типы ключей и значений Implementation_t являются подтипами Base_t соответственно.
Есть ли хороший способ обозначить это?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -typeddict

Вернуться в «Python»