微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 打字 - 为什么我可以将可选的 Pandas DataFrame 分配给非可选的 Pandas DataFrame

如何解决Python 打字 - 为什么我可以将可选的 Pandas DataFrame 分配给非可选的 Pandas DataFrame

为什么以下代码不会引发 mypy 错误

optional_string: Optional[str] = "baz"
string: str = optional_string

在同一个文件中,我有这个代码块:

foo.py:11: error: Incompatible types in assignment (expression has type "Optional[str]",variable has type "str")
Found 1 error in 1 file (checked 109 source files)

错误

mypy --config-file ../quality_checks/mypy.ini .

我正在像这样启动 mypy:

[mypy]
python_version = 3.7
strict = True

[mypy-pandas]
ignore_missing_imports = True

我的配置文件如下所示:

{{1}}

我认为 ignore_missing_imports 可能是这里的问题,但我不确定这是否属实或为什么如此。

解决方法

pandas 还没有(目前,虽然这可能会在不久之后改变)公开类型提示 - 如果你运行

import pandas as pd

df: pd.DataFrame
reveal_type(df)

那么您应该看到它显示为 Any,这意味着它不会被类型检查。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。