首先,先解释一下 Python SyntaxError: invalid token
>>> eval("012")
Traceback (most recent call last):
File "<pyshell#56>", line 1, in <module>
eval("012")
File "<string>", line 1
012
^
SyntaxError: invalid token
原因分析:
Python中数字前加‘0’代表8进制,,所以BUG了
进入正题,即eval()函数的功能:
eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果。
示例:
>>> a = eval(input("zss:"))
zss:041962
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
a = eval(input("zss:"))
File "<string>", line 1
041962
^
SyntaxError: invalid token
>>> eval(input("zss:"))
zss:119
119
>>> eval("5+5")
10