Python:eval函数的用途是什么

时间:2018-03-24 19:44:21

标签: python python-3.x eval python-3.6

当我从文档中读到时,eval()函数用于评估Expression。

但是默认情况下Python正在这样做。我的意思是

Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> __name__
'__main__'
>>> del __name__
>>> __name__
'builtins'
>>> globals()[__name__]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'builtins'

所以当我输入>>> x=10 >>> x+2 12 >>> eval('x+2') 12 >>> python评估/解释该语句时,为什么再次使用eval()函数。

我认为在python程序中使用它可能会造成一些差异,所以我也试过了。

x+2

输出为

x=10
x=x+12
print(x)
print(eval('x+13'))
print(x+13)

因此22 35 35 print(x+13)打印相同的结果,我相信在内部执行相同的操作。

我是否遗漏了Python中print(eval('x+13'))函数的最佳或专用用例?或者它只是我的理解?

先谢谢你。

0 个答案:

没有答案