Python 3.6变量注释和数字文字

时间:2017-10-05 11:33:12

标签: python python-3.x

在Python的文档“Python 3.6中的新功能”一节中,提供了变量注释并在数字文字中使用了下划线。

然而,我尝试过显示的例子,但并非所有例子都通过了。

这些示例是否不完整,是否需要一些额外的代码?

例如这句话

primes: List[int] = []

问题

NameError: name 'List' is not defined

本声明

print( 1_000_000_000_000_000 ) 

也被视为错误。

1 个答案:

答案 0 :(得分:2)

如果您首先导入List from typing,则第一种情况有效。大多数使用类型提示的类型都不是内置的,需要先导入它们。

如果您在3.6下运行,第二种情况也适用。在我的机器上它正确打印:

Python 3.6.2 | packaged by conda-forge | (default, Jul 23 2017, 22:59:30) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print( 1_000_000_000_000_000 ) 
1000000000000000

如果您收到的错误消息为:SyntaxError: invalid syntax,则表示您已3.5或更低。如果是SyntaxError: invalid token,则表示您没有正确使用下划线。我猜你收到了第一个。

因此,您可能需要仔细检查自己是否正在使用3.6python -V)。