📜  exec 返回一个值 python (1)

📅  最后修改于: 2023-12-03 15:14:56.767000             🧑  作者: Mango

介绍

在 Python 中,exec 是一个内置的函数,它可以用于执行字符串表示的 Python 代码并返回结果。

exec 函数将接收一个字符串参数,并在当前上下文中执行其中包含的 Python 代码。所以它可以用来执行动态生成的代码,或者用于个性化的代码执行器。

语法

以下是exec函数的基本语法:

exec(object[,globals[,locals]])

object 是需要执行的 Python 代码字符串。

globalslocals 是可选参数。globals 参数指定全局变量的命名空间,locals 参数指定局部变量的命名空间。

返回值

exec 函数执行字符串代码并返回 None

但是,在执行代码段时,可能会生成可以作为执行结果返回的值。为此,可以在代码字符串中使用 return 语句来显式返回值。

以下是一个简单的示例:

code = "x = 5\ny = 10\nreturn x+y"
result = exec(code)
print(result)  # 输出 None

在这个例子中,执行的代码 code 中使用了 return 语句来返回两个变量 xy 的和。然而,exec 函数仍然返回了 None,因为它不会返回代码字符串中的返回值。要获取返回值,可以使用 eval 函数来执行代码字符串,并返回其中的表达式的值。示例如下:

code = "x = 5\ny = 10\nx+y"
result = eval(code)
print(result)  # 输出 15

在这个例子中,使用了 eval 函数来执行代码字符串,并返回其中的表达式 x+y 的值。

结论

exec 函数可以用于执行字符串代码,并在当前上下文中执行其中包含的 Python 代码段。它不会返回代码字符串中的表达式的值,但是可以在代码字符串中使用 return 语句来显式返回值。如果需要获取代码字符串中的表达式的值,应该使用 eval 函数来执行代码字符串。