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()的区别
【Python中的exec的用法是什么?Python中exec()和eval()的区别】在前面语法的学习中,我们提过了它们之间的一些区别,其主要的区别就是在于是否会将执行结果返回,如果使用eval()函数的话,执行完会返回结果,而使用exec()执行完不返回结果 。下面看一个具体的实例,代码如下:
a = 1exec("a = 2")在这里就是直接执行a=2一样的操作print(a)a = exec("2+3")直接执行 2+3,但是不会有任何的返回值,a对应的值为none 。print(a)a = eval('2+3') #执行 2+3,并把结果返回给 aprint(a)运行结果为:
2None5:a= eval("a = 2")关于Python中的exec()的用法是什么?Python中exec()和eval()的区别的文章就分享到这里了,希望通过对这篇文章的学习可以让大家掌握到更多的Python知识 。

    推荐阅读