【问题标题】:Mypy type checker doesn't work correctly for a list of integers and booleans [duplicate]Mypy 类型检查器不适用于整数和布尔值列表[重复]
【发布时间】:2020-09-02 04:22:48
【问题描述】:
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 中进行静态类型检查?

这里有一些证据:

【问题讨论】:

    标签: python boolean mypy


    【解决方案1】:

    原因是TrueFalse 与整数10 相同。

    因此 Mypy 无法区分 [1, 2, True][1, 2, 1] 以及 a = Falsea = 0

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-30
      • 2019-11-11
      • 2014-12-13
      • 2019-04-18
      • 2016-04-08
      • 2021-11-25
      • 2016-12-01
      • 1970-01-01
      相关资源
      最近更新 更多