mypy是否可以在声明变量时警告缺少显式输入?

问题描述 投票:0回答:1

我正在尝试设置mypy来警告我所有键入错误,但是当我忘记声明声明时添加显式键入时,我无法找出正确的配置来获取警告/错误变量。

例如:

a = min([3, 5, 2, 4]) 

应该警告我,我忘记在那一行中输入。

还有这个:

a: int = min([3, 5, 2, 4])

应该说'成功:没有发现问题'。

我希望每次都会发生这种情况,不仅是当mypy无法自行推断类型时。

是否有标记?

python mypy
1个回答
0
投票

如果您没有在每个变量注释中都包含类型提示,则无法使mypy报告错误。这种事情被认为是反模式,因此mypy明确不支持。

我不太熟悉flake8等可配置的整理工具,但是AFAIK他们也不支持这种检查。因此,如果您想强制使用这种样式,恐怕剩下的唯一选择就是让您编写自己的linter。

我建议您改为专注于启用以下类别的mypy命令行标志/配置值:

以下标志也可能有用:

两者均禁止动态类型输入,并使mypy更加积极地确保代码不受检查,这将有助于您确保所有内容均具有精确类型。

请注意,我在使用--warn-unreachable时默认情况下没有启用我上面提到的大多数标志。

© www.soinside.com 2019 - 2024. All rights reserved.