#python #mypy
Вопрос:
a: List[float] c = [1,2] a = c b: Dict[str, float] d = {"1": 1, "2": 2} b = d
Есть ли способ сделать назначение законным, кроме использования Sequence
и Mapping
вместо List
и Dict
Комментарии:
1. Нет, потому что это незаконно, потому что изменяемые контейнеры инвариантны.
2. Я имею в виду, может быть, такие методы, как использование
TypeVar
для определения типа, содержащегоint
иfloat
?3. я думаю, тебе не помешал бы профсоюз
4. Ты можешь
cast
.5.
a: List[Union[int, float]]
?