彩虹然

rainbow-ran

Python中的exec函数

exec 执行储存在字符串或文件中的 Python 语句。

语法:exec(object[, globals[, locals]])

参数:

object:表示需要被指定的Python代码

globals:表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。

locals:表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。

返回值:None

单行语句

exec('print("Hello world!")')

多行语句

:1.用三引号括起来;2.注意语句的换行空格

exec("""
for i in range(3):
  print(i)
""")

三个参数

注意全局变量和局部变量的变化

g = {
  'x': 1,
  'y': 2
}
l = {}

exec('''
global x,z
x=100
z=200

m=300
''', g, l)

print(g)  # {'x': 100, 'y': 2,'z':200,......}
print(l)  # {'m': 300}
posted @ 2020-02-15 13:31  彩虹然  阅读(7411)  评论(0编辑  收藏  举报