相关疑难解决方法(0)

如何在python 3.6中使用类型提示?

我注意到python 3.5和python 3.6增加了很多关于静态类型检查的功能,所以我尝试使用以下代码(在python 3.6中,稳定版本).

from typing import List

a: List[str] = []
a.append('a')
a.append(1)
print(a)
Run Code Online (Sandbox Code Playgroud)

让我感到惊讶的是,python没有给我一个错误或警告,虽然1附加到一个list只应该包含字符串.Pycharm检测到类型错误并给我一个警告,但它并不明显,它没有在输出控制台中显示,我害怕有时我可能会错过它.我想要以下效果:

  1. 如果我显然使用了如上所示的错误类型,则抛出警告或错误.
  2. 如果编译器无法可靠地检查我使用的类型是对还是错,请忽略它.

那可能吗?也许mypy可以做到,但我更喜欢使用python-3.6-style类型检查(比如a: List[str])而不是使用的注释风格(如# type List[str])mypy.而且我很好奇是否在本机python 3.6中有一个切换来实现我上面提到的两点.

python type-hinting python-3.x python-3.6 mypy

40
推荐指数
3
解决办法
1万
查看次数

标签 统计

mypy ×1

python ×1

python-3.6 ×1

python-3.x ×1

type-hinting ×1