马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 一个账号 于 2020-3-17 20:40 编辑
Python exec() 函数
语法
exec(source, globals=None, locals=None, /)
参数
参数 | 描述 | globals | 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 | locals | 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。 |
source
表示需要被指定的 Python 代码。它必须是字符串或 code 对象。
如果 object 是一个字符串,该字符串会先被解析为一组 Python 语句,然后在执行(除非发生语法错误)。
如果 object 是一个 code 对象,那么它只是被简单的执行。
描述
exec() 函数用于执行 Python 代码。相比于 eval,exec 可以执行更复杂的 Python 代码。
返回值
None
例子
>>> print(exec("3+3")) # exec() 函数永远返回 None
None
>>> exec("print('Hello World!')")
Hello World!
>>> exec("""if True:
print("True")""")
True
>>> exec("""for i in [i for i in range(20)]:
print(i, pow(i, i))""")
0 1
1 1
2 4
3 27
4 256
5 3125
6 46656
7 823543
8 16777216
9 387420489
10 10000000000
11 285311670611
12 8916100448256
13 302875106592253
14 11112006825558016
15 437893890380859375
16 18446744073709551616
17 827240261886336764177
18 39346408075296537575424
19 1978419655660313589123979
>>> def test():
a = 1
exec("b = a")
print(b)
>>> test() # 这种错误请参考 https://fishc.com.cn/thread-161043-1-1.html
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
test()
File "<pyshell#5>", line 4, in test
print(b)
NameError: name 'b' is not defined
|