我在python 3.5代码上使用mypy
,并且收到了很多看起来像这样的消息:
文件:行号:错误:变量需要类型注释
但是我读到python 3.6
中的新功能,它仅在python 3.6
中引入了变量注释的语法:
PEP 484引入了功能参数的类型注释(也称为类型提示)的标准。该PEP向Python添加了语法,用于注释变量的类型,包括类变量和实例变量...
并且如果我想在python 3.5
程序中向变量添加变量类型注释,则会抛出SyntaxError
。
我该怎么办?忽略此消息?更新为python 3.6
?为什么mypy
像在python 3.6
中那样编写我的代码?
您的代码混淆了mypy
试图执行的类型推断。例如,按照下面的代码段重新定义名称,不允许mypy推断f
的类型:
使用注释来注释变量类型
如果具有空白值,则必须定义变量的类型。例如: