解读Python Mypy报告
我试着阅读解读Python Mypy报告,python,mypy,python-typing,Python,Mypy,Python Typing,我试着阅读mypy报告,但不太明白如何 因此,在/tmp/tmp_py/上,我创建了一个虚拟文件,如下所示: def kuki(x): print("kuki") return "kuki" def buki(x: str) -> int: print(333333) return 33 现在我运行mypy--strict--txt report=/tmp/tmp/tmp\u py/ 我希望看到1个函数是正常的(buki函数),还有一个是缺少类型提示(k
mypy
报告,但不太明白如何
因此,在/tmp/tmp_py/
上,我创建了一个虚拟文件,如下所示:
def kuki(x):
print("kuki")
return "kuki"
def buki(x: str) -> int:
print(333333)
return 33
现在我运行mypy--strict--txt report=/tmp/tmp/tmp\u py/
我希望看到1个函数是正常的(buki
函数),还有一个是缺少类型提示(kuki
函数)。因此,我也希望看到类似“50%正常”的统计数据
我得到的是:
Mypy Type Check Coverage Summary
================================
Script: index
+--+-------------------+-------+
| Module | Imprecision | Lines |
+--+-------------------+-------+
+--+-------------------+-------+
| Total | 0.00% imprecise | 0 LOC |
+--+-------------------+-------+
目前的问题是:
mypy--strict--linecount report=/tmp/tmp/tmp\u py/
。这产生了加密输出:
5 11 1 2 total
5 11 1 2 tmp_py.a
0 0 0 0 tmp_py
{
"lines": {
"/tmp/tmp_py/a.py": [
5,
6,
7,
8,
9,
10,
11
],
"/tmp/tmp_py/__init__.py": []
}
}
因此,出现了更多的问题:
mypy--strict--linecoverage report=/tmp/tmp/tmp\u py/
。这产生了更加密的输出:
5 11 1 2 total
5 11 1 2 tmp_py.a
0 0 0 0 tmp_py
{
"lines": {
"/tmp/tmp_py/a.py": [
5,
6,
7,
8,
9,
10,
11
],
"/tmp/tmp_py/__init__.py": []
}
}
还有更多的问题:
mypy--strict--lineprecision report=/tmp/tmp/tmp\u py/
。它没有产生任何产出
那么,就像,啊啊
有人知道如何破译这些报告吗?链接到文档将是伟大的。有人知道为什么lineprecision report
没有输出吗?最后,如果mypy
无法为我提供我正在寻找的统计数据(我认为,这些统计数据非常基本——有多少函数是可以的,有多少函数是“坏的”)——有人知道或推荐其他可以提供这些统计数据的工具吗
提前谢谢 您使用什么
mypy
版本?当使用v0.770评估您的示例时,我发现42.86%不精确。虽然承认了,但这些报道还是有点前卫。@hoefling,谢谢你的评论。相同的mypy
版本:mypy--version
给出了mypy 0.770
。也许是python版本?我正在使用Python 3.6.8。也许是操作系统?我正在使用MacOS,Catalina 10.15.4。但42.86%甚至更奇怪。。。比如,有人会期望50%。。。熟悉其他可能正确完成工作的工具吗?