Указание типа возвращаемого значения, когда выходные данные поступают из библиотеки без подсказок типа или заглушек.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Указание типа возвращаемого значения, когда выходные данные поступают из библиотеки без подсказок типа или заглушек.

Сообщение Anonymous »


При импорте библиотеки с отсутствующими заглушками (без подсказок по типу) mypy помечает ее как модуль без заглушек. Простое решение – добавить # type: ignore после импорта, однако все типы возвращаемых значений станут Any. Теперь, если я определю функцию, которая возвращает что-то, выходящее из этой библиотеки, мне кажется, что мне также нужно будет определить тип возвращаемого значения как Any.

Это кажется очень общим, и я хотел бы знать, есть ли более явный способ определения типа возвращаемого значения вместо использования Any каждый раз, когда в библиотеке нет заглушек.

Вот очень простой пример использования Plotly:

importplotly.express как px # тип: игнорировать из сюжетного импорта Graph_objects как идти из панд импортировать DataFrame defplot_df(df: DataFrame) -> go.Рисунок: вернуть px.bar(dataframe=df) что вызывает следующую ошибку mypy: «ошибка: тип возвращаемого значения становится «Любым» из-за неотслеживаемого импорта [no-any-unimported]». Замена go.Figure на Any решает проблему, но, опять же, мне хотелось бы знать, есть ли лучший способ сделать это.

Я использую Python 3.9.16, и вот конфигурация mypy в моем файле pyproject.toml:

[tool.mypy] disallow_untyped_defs = правда disallow_any_unimported = правда no_implicit_optional = правда check_untyped_defs = правда alert_return_any = правда alert_unused_ignores = правда show_error_codes = правда Большое спасибо за помощь.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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