|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码 |
|