Как аннотировать изменяемые структуры для mypyPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как аннотировать изменяемые структуры для mypy

Сообщение Anonymous »

У меня есть этот код

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

def my_foo(x: dict[str, int | float], some_condition: bool) -> None:
if some_condition:
x['the_int'] = 1
else:
x['the_float'] = 1.0

my_dict = {'some_int': 2}

my_foo(my_dict, True)
mypy (по понятным причинам) жалуется

ошибка: аргумент 1 в "my_foo" имеет несовместимый
тип " dict[str, int]"; ожидается "dict[str, int | float]" [arg-type]
примечание: "Dict" является инвариантным - см.
https://mypy.readthedocs.io/en/stable/common_issues. html#variance
src\type_test.py:23: примечание: вместо этого рассмотрите возможность использования «Сопоставления», которое
ковариантно для типа значения

Я пытался сделать подсказку типа с помощью MutableMapping, но безрезультатно:

ошибка: аргумент 1 для «my_foo» имеет несовместимый тип "dict[str, int]";
ожидается "MutableMapping[str, int | float]"


Подробнее здесь: https://stackoverflow.com/questions/790 ... s-for-mypy
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как аннотировать изменяемые структуры для mypy
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как аннотировать изменяемые структуры для Mypy
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как аннотировать изменяемые структуры для Mypy
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Почему в Project Valhalla не представлены изменяемые структуры?
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как аннотировать индекс Pandas значений dateTime.date с использованием Pandera и Mypy?
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

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