exec()
函数在 Python 中用于执行存储在字符串或对象代码中的 Python 代码。这个函数非常强大,但也存在一定的安全风险,因为它可以执行任意的 Python 代码。在实际项目中,应谨慎使用 exec()
。
以下是 exec()
函数的基本用法:
code_in_string = "print('Hello, World!')" exec(code_in_string)
在这个例子中,我们创建了一个包含简单打印语句的字符串,然后使用 exec()
函数执行了它。输出结果将是:
Hello, World!
你还可以将代码作为参数传递给 exec()
函数:
def my_function(): print("Hello from my_function!") code_in_string = "my_function()" exec(code_in_string)
这将输出:
Hello from my_function!
需要注意的是,exec()
函数没有返回值。如果你需要执行代码并获取结果,可以将代码写入一个函数,然后调用该函数。例如:
def my_function(): x = 1 + 2 return x code_in_string = "my_function()" result = exec(code_in_string) print(result) # 输出:3
然而,在实际应用中,建议使用 eval()
函数来计算表达式的值,因为它更安全且易于使用。例如:
x = 1 + 2 result = eval("x") print(result) # 输出:3