eval()和exec()函数都属于Python中的内置函数,由于这两个函数在功能和用法方面都有相似之处,所以将它们放到一起进行介绍。下面就一起来看看这篇关于Python中的exec()的用法是什么?Python中exec()和eval()的区别的文章吧。
一、eval()和exec()的用法
在Python中,这两个函数的功能非常的相似,都是对字符串形式的Python代码执行,有人可以把它们看成是一个Python解释器,下面一起看看它们的基本语法:
eval()函数的语法格式为:
eval(expression, globals=None, locals=None, /)
而exec()函数的语法格式如下:
exec(expression, globals=None, locals=None, /)
通过语法的观察,我们可以看到这两个函数除了函数名不同之外,参数都是一样的,一共包含了三个参数,第一个参数表示的是字符串,也就是我们需要执行的语句,在这个参数后面的两个参数就是用来指定字典类型参数,globals用来对全局的命名空间进行管控, 最后一个参数是管控局部的命名空间,类似于globals。
二、exec()和eval()的区别
在前面语法的学习中,我们提过了它们之间的一些区别,其主要的区别就是在于是否会将执行结果返回,如果使用eval()函数的话,执行完会返回结果,而使用exec()执行完不返回结果。下面看一个具体的实例,代码如下:
a = 1 exec("a = 2")在这里就是直接执行a=2一样的操作 print(a) a = exec("2+3")直接执行 2+3,但是不会有任何的返回值,a对应的值为none。 print(a) a = eval('2+3') #执行 2+3,并把结果返回给 a print(a)
运行结果为:
2 None 5: a= eval("a = 2")
关于Python中的exec()的用法是什么?Python中exec()和eval()的区别的文章就分享到这里了,希望通过对这篇文章的学习可以让大家掌握到更多的Python知识。