Mypy жалуется на несовместимый тип, когда тип переменной является подмножеством ожидаемого типаPython

Программы на Python
Anonymous
Mypy жалуется на несовместимый тип, когда тип переменной является подмножеством ожидаемого типа

Сообщение Anonymous »

Пытаемся создать набор данных xarray, в котором мы создаем входные данные для аргументов «coords» и «attrs» перед передачей их конструктору:

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

coordinates = {"time": ("time", time_coordinates)}
attributes = {"some_flag": False}
...
ds = xr.Dataset(data_vars=variables, coords=coordinates, attrs=attributes)
Меня озадачивает результат выполнения mypy по этому коду:

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

error: Argument "coords" to "Dataset" has incompatible type "Dict[str, Tuple[str, Any]]"; expected "Optional[Mapping[Hashable, Any]]"
error: Argument "attrs" to "Dataset" has incompatible type "Dict[str, bool]"; expected "Optional[Mapping[Hashable, Any]]"
Разве словарь не является сопоставлением? И разве str не является также Hashable? И разве Tuple и bool не имеют типа Any в любом случае? Что я здесь не понимаю в подсказках типов mypy и/или Python?

Подробнее здесь: https://stackoverflow.com/questions/672 ... f-expected

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