【发布时间】:2016-10-18 18:40:55
【问题描述】:
我刚开始学习 pyhton,在使用比较运算符时,当我使用 '==' 运算符执行以下代码时出现此错误,
40 == 0040.0
结果为真,从解释器,也
40 == 40.0
结果为真
但是当我执行下面的代码时,
40 == 0040
它抛出了一个错误,
文件“stdin”,第 1 行
40 == 0040
语法错误:无效标记
将无效标记指向尾随零。
请帮助我了解发生了什么。在此先感谢您。
【问题讨论】:
-
0040 as 000040 已经被视为十六进制,如果你 int(0040) 或 int(000040) 你会得到 32
-
@dmitryro 你是说八进制吗?
-
@dmitryro 0040 是一个 SyntaxError,而不是十六进制或八进制数(后者应该有
0o而不是00。找出不同之处。) -
嗨 dmitryro:在转换为 int 之前,它必须转换为十进制对吗?如果我没有错
-
@SubSea 供您参考docs.python.org/3/reference/…
标签: python python-3.x