2009-12-03 155 views
39

我在python初学者,我想在我的脚本中使用一个八进制数,但是当我尝试它,它返回我的错误:无效令牌

>>> a = 010 
SyntaxError: invalid token (<pyshell#0>, line 1) 
>>> 01 
SyntaxError: invalid token (<pyshell#1>, line 1) 

有我的代码有问题吗?我正在使用Python3(和阅读Python 2.2书籍)

+0

有可能是坏了你的Python安装,或者您使用的shell。在http://shell.appspot.com尝试相同的事情,看看你是否得到相同的错误。 – 2009-12-03 05:43:27

回答

58

尝试0o10,可能是因为python 3或pyshell本身。

PEP说,

octal literals must now be specified with a leading "0o" or "0O" instead of "0";

http://www.python.org/dev/peps/pep-3127/

+12

我希望每种语言都要求这个八进制数字;现在如果我们能够获得对0sNNN(对于六十进制)的支持,并将基数为64的数字加入到我们的代码中。 – 2009-12-03 07:15:25

+2

想想魔术常量的可能性......不再被限制为“0xdeadbeef”等:o – 2009-12-03 08:55:38

+0

感谢S.Mark,使用“Oo”工作得很好。 – Rafael 2009-12-03 16:59:33