Python exec() 函数允许动态执行 Python 代码。它可以执行包含 Python 语句的字符串或已编译的代码对象。通常,此函数用于运行程序的另一部分生成的代码。
与仅接受单个表达式的 eval() 函数不同,exec() 函数可以接受单个或多个表达式或一大块代码。
exec() 是内置函数之一,不需要任何模块。
语法
以下是 Python exec() 函数的语法。
exec(object, globals, locals)
参数
以下是 Python exec() 函数的参数 -
- object − 此参数表示字符串或代码对象。
- globals − 此参数指定全局函数。
- locals − 此参数表示本地函数。
返回值
python exec() 函数不返回任何值。
exec() 函数示例
练习以下示例来理解 Python 中 exec() 函数的用法:
示例:使用 exec() 执行单个表达式
exec() 函数可用于执行单个表达式。以下是 Python exec() 函数的一个示例,我们尝试执行一个简单的 print 语句。
printStatement = 'print("qikepu")'
exec(printStatement)
在执行上述程序时,将生成以下输出 -
qikepu
示例:使用 exec() 执行动态代码
在此示例中,我们将演示如何使用 help exec() 函数执行动态代码。在这里,名为 “msg” 的方法动态接受一个参数并打印结果。
printStatement = """
def msg(name):
print(f"This is, {name}!")
"""
exec(printStatement)
msg("qikepu")
以下是执行上述程序得到的输出 -
This is, qikepu!
示例:通过向 exec() 提供表达式来更新变量
在 exec() 函数的帮助下,我们可以通过执行算术运算或任何其他方式来修改给定的值,如下面的代码块所示。
nums = 15
exec("res = nums + 15")
print("The result after execution:", res)
通过执行上述程序获得以下输出 -
The result after execution: 30
示例:使用 exec() 执行循环表达式
我们可以使用 exec() 函数执行任何小型或大型代码块。在此示例中,我们在 exec() 函数的帮助下运行 for 循环。
output = "for nums in range(5): print(nums)"
print("The result after execution:")
exec(output)
上述程序在执行时显示以下输出 -
The result after execution:
0
1
2
3
4
0
1
2
3
4