优草派  >   Python

Python中的exec()的用法是什么?Python中exec()和eval()的区别

翟嘉慧            来源:优草派

eval()和exec()函数都属于Python中的内置函数,由于这两个函数在功能和用法方面都有相似之处,所以将它们放到一起进行介绍。下面就一起来看看这篇关于Python中的exec()的用法是什么?Python中exec()和eval()的区别的文章吧。

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知识。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行