daj*_*daj 9 python type-hinting python-3.5
我SyntaxError: invalid syntax在尝试新的类型化的namedtuple语法时遇到错误:
class Employee(NamedTuple):
name: str
id: int
Run Code Online (Sandbox Code Playgroud)
在Python 3.5.2中,即使根据文档,它应该从3.5+开始有效.我错过了什么吗?我NamedTuple从typing代码中导入了.
Mar*_*ers 15
声明您正在使用的name和id字段的类型的语法需要Python 3.6或更高版本.Python 3.5不支持所需的变量级类型提示.
版本3.6中已更改:添加了对PEP 526变量注释语法的支持.
使用文档中包含的向后兼容语法:
Employee = NamedTuple('Employee', [('name', str), ('id', int)])
Run Code Online (Sandbox Code Playgroud)
所以将字段名称列为(name, type)元组.
如果您使用的是Python 3.5,则可能需要切换到文档的Python 3.5版本(左上角有一个选择器,或者只能替换3URL中的选择器3.5).