Python exec 内置语句
Python 内置的 exec 语句用于执行储存在字符串或文件中的 Python 语句
与 eval 不同的是,exec 可以执行更复杂的 Python 代码
注意
在 Python2 中 exec 不是函数,而是一个内置语句(statement),但是Python 2 中有一个 execfile() 函数
可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了
语法
exec obj
参数
参数 | 说明 |
---|---|
obj | 要执行的表达式 |
返回值
exec 返回值永远为 None
范例
下面的代码演示了 exec 语句的简单使用
>>> exec ('print("Hello World")') Hello World # 单行语句字符串 >>> exec ( "print( 'www.twle.cn')") www.twle.cn # 多行语句字符串 >>> 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()
运行以上 Python 代码,输出结果如下
60 33 34