问题描述
from typing import List
if __name__ == '__main__':
a: int = 3
b: List[int] = [1,2,True]
c: List[str] = ["1","2",35.5]
a = False
它仅向我警告c
列表,因此,如果我对此进行注释,它会声明“成功:在1个源文件中未发现任何问题”。但这显然是错误的,不是吗?
在Python中进行静态类型检查时应使用什么编辑器,插件或其他工具?
以下是一些证据:
解决方法
原因是True
和False
与整数1
和0
相同。
因此Mypy无法将[1,2,True]
与[1,1]
和a = False
与a = 0
区别开。
另请参阅: