当我尝试为变量赋值时遇到问题。当我尝试按此顺序将日期作为元组或列表放置时出现问题: year, month, day.
>>> a = (2016,04,03) # I try to put the date into variable 'a' as a tuple.
SyntaxError: invalid token
>>> a = [2016,04,03] # I try to put the date into variable 'a' as a list.
SyntaxError: invalid token
为什么会这样?
我如何解决它?
token 在 Python 中是什么意思?
原文由 zerocool 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Python 3 中,数字中不允许使用前导零。例如:
等等是不允许的,但应该写成
5
和123
代替。然而,在 Python 2 中,前导零表示该数字是 _八进制数_(基数为 8),因此
04
或03
表示4
和3
分别为八进制,但08
将无效,因为它不是有效的八进制数。在 Python 3 中,八进制的语法更改为:
(以及允许其他基数,例如使用
0b
或0x
前缀的二进制和十六进制。)至于您的其他问题,Python 中的令牌是 Python 解释器将您的代码分成块的方式,以便它可以理解它(请参阅 此处)。在这里,当分词器尝试拆分您的代码时,它不希望在那里看到零,因此会抛出错误。
我建议(与其他答案类似)您删除前导零(
(2016,4,3)
)或使用字符串(("2016","04","03")
)表示它们。