📅  最后修改于: 2023-12-03 15:14:56.767000             🧑  作者: Mango
在 Python 中,exec
是一个内置的函数,它可以用于执行字符串表示的 Python 代码并返回结果。
exec
函数将接收一个字符串参数,并在当前上下文中执行其中包含的 Python 代码。所以它可以用来执行动态生成的代码,或者用于个性化的代码执行器。
以下是exec函数的基本语法:
exec(object[,globals[,locals]])
object
是需要执行的 Python 代码字符串。
globals
和 locals
是可选参数。globals
参数指定全局变量的命名空间,locals
参数指定局部变量的命名空间。
exec
函数执行字符串代码并返回 None
。
但是,在执行代码段时,可能会生成可以作为执行结果返回的值。为此,可以在代码字符串中使用 return
语句来显式返回值。
以下是一个简单的示例:
code = "x = 5\ny = 10\nreturn x+y"
result = exec(code)
print(result) # 输出 None
在这个例子中,执行的代码 code
中使用了 return
语句来返回两个变量 x
和 y
的和。然而,exec
函数仍然返回了 None
,因为它不会返回代码字符串中的返回值。要获取返回值,可以使用 eval
函数来执行代码字符串,并返回其中的表达式的值。示例如下:
code = "x = 5\ny = 10\nx+y"
result = eval(code)
print(result) # 输出 15
在这个例子中,使用了 eval
函数来执行代码字符串,并返回其中的表达式 x+y
的值。
exec
函数可以用于执行字符串代码,并在当前上下文中执行其中包含的 Python 代码段。它不会返回代码字符串中的表达式的值,但是可以在代码字符串中使用 return
语句来显式返回值。如果需要获取代码字符串中的表达式的值,应该使用 eval
函数来执行代码字符串。