了解 mypy 覆盖率报告着色任何类型,省略泛型

问题描述

我开始在 Python 中进行类型检查并使用 mypy 工具。我在我的代码片段上运行了 mypy html 覆盖率报告,并看到以下内容

enter image description here

如果我将鼠标悬停在代码的这一部分上,它会显示“此行上的任何类型:省略泛型(x2)”。我的问题是,这到底是什么意思?虽然 mypy 没有返回任何错误,但我很好奇这是黄色的事实是否意味着我可以(并且应该)做得更好,使其颜色为绿色。

解决方法

首先,不鼓励只在您的问题中发布图像 - 在这里它很有用,因为您试图弄清楚为什么您的 IDE 以这种方式呈现某些东西,但是对于使用屏幕阅读器进行总结的人来说非常有帮助图像中发生了什么。

其次,您没有提到您正在查看的图像是由哪个 IDE 生成的,也没有提到当您将鼠标悬停在它上面时出现的消息,所以我无法帮助您了解这些细节。

然而,第三,希望这能帮助你真正解决你的困惑:list[dict] 不是给 mypy(或任何其他 Python 静态类型检查器)一个类型提示的正确方法,该提示该函数返回一个列表。您应该至少使用 List[dict] 代替(Listtyping 库提供),或者,对于更多的巧克力点,请具体说明 List[Dict[key_type,value_type]] .