欢迎您 本站地址:  

Python3 exec 函数

Python3 内置函数 Python3 内置函数


描述

exec 执行储存在字符串或文件中的 Python 语句,相比于 evalexec 可以执行更复杂的 Python 代码。

语法

以下是 exec 的语法:

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

参数

返回值

exec 返回值永远为 None。


实例

以下展示了使用 exec 的实例:

实例 1

>>>exec('print("Hello World")') Hello World # 单行语句字符串 >>> exec("print ('www.fxku.cn')") runoob.com # 多行语句字符串 >>> exec ("""for i in range(5): ... print ("iter time: %d" % i) ... """) iter time: 0 iter time: 1 iter time: 2 iter time: 3 iter time: 4

实例 2

x = 10 expr = """ z = 30 sum = x + y + z print(sum) """ def func(): y = 20 exec(expr) exec(expr, {'x': 1, 'y': 2}) exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4}) func()

输出结果:

60
33
34

exec 返回值

在 Python 中,exec 函数用于执行字符串中的代码,但它不返回任何值,如果要获取执行代码后的返回值,可以使用 eval 函数或 exec 结合 locals()globals() 来获取变量的值。

请注意,使用 evalexec 需要小心,尤其是当执行的代码来自不受信任的源时,可能存在安全风险。

使用 eval 获取返回值:

实例

code = '2 + 2'
result = eval(code)
print(result)

在这个例子中,eval 执行字符串 '2 + 2' 并返回结果 4

以上代码执行输出结果为:

4

使用 exec 结合 locals() 获取返回值:

实例

code = 'result = 2 + 2'
local_vars = {}
exec(code, globals(), local_vars)
result = local_vars['result']
print(result)

在这个例子中,exec 执行字符串 'result = 2 + 2',并将结果存储在 local_vars 字典中的 'result' 键中。

以上代码执行输出结果为:

4

使用 exec 结合 globals() 获取返回值:

实例

code = 'result = 2 + 2'
global_vars = {}
exec(code, global_vars)
result = global_vars['result']
print(result)

在这个例子中,exec 执行字符串 'result = 2 + 2',并将结果存储在 global_vars 字典中的 'result' 键中。

以上代码执行输出结果为:

4

Python3 内置函数 Python3 内置函数

小库提示

扫描下方二维码,访问手机版。