Python 3.5类型化NamedTuple语法生成SyntaxError

Python 3.5类型化NamedTuple语法生成SyntaxError,python,python-3.5,type-hinting,Python,Python 3.5,Type Hinting,当我尝试新的类型化namedtuple语法时,我得到一个SyntaxError:invalid syntax错误: class Employee(NamedTuple): name: str id: int 在Python3.5.2中,即使根据第3.5节的规定,它也应该从3.5+开始生效。我错过什么了吗?我已经从代码中的键入导入了NamedTuple。您正在使用的name和id字段声明类型的语法需要。Python 3.5不支持所需的变量级别类型提示 从: 在版本3.6中更改:添

当我尝试新的类型化namedtuple语法时,我得到一个
SyntaxError:invalid syntax
错误:

class Employee(NamedTuple):
    name: str
    id: int

在Python3.5.2中,即使根据第3.5节的规定,它也应该从3.5+开始生效。我错过什么了吗?我已经从代码中的
键入
导入了
NamedTuple

您正在使用的
name
id
字段声明类型的语法需要。Python 3.5不支持所需的变量级别类型提示

从:

在版本3.6中更改:添加了对变量注释语法的支持

使用文档中也包含的向后兼容语法:

Employee = NamedTuple('Employee', [('name', str), ('id', int)])
因此,将字段名称列为
(名称,类型)
元组


如果您使用的是Python 3.5,您可能希望切换到(在左上角有一个选择器,或者您可以将URL中的
3
替换为
3.5
)。

huh在文档顶部写着“3.5版中的新版本”。编辑哦,我明白了。。。daj:是的,
键入
模块在Python 3.5中是新的。注释变量的附加语法(如此处用于将
name
声明为
str
id
声明为
int
)需要Python 3.6。@daj:如果您使用的是Python 3.5,则可以改为切换到特定版本的文档:。请注意URL中的
3.5