Python 中locals() 和 globals()内建函数

Admin 2018-07-09 10:00:00 Python

1、locals() 和 globals() 是Python的内建函数,他们提供了字典的形式访问局部变量和全局变量的方式。

def A(arg):
    a=1
    b=2
    data_dict = {}
    print locals()
    print globals()

if __name__ == '__main__':
    A(3)

2、locals() 返回是当前局部变量的深拷贝,修改locals() 中变量值的时候,实际上对于原变量本身是没有任何影响的。而globals()返回的是全局变量的字典,修改其中的内容,值会真正的发生改变。

v = 5 # 定义一个全局变量
def TEST():
    k=1
    locals()["k"] = 2  # 修改局部变量
    print "k=", k
    globals()["b"] = 6 # 修改全局变量
    print "v=", v

if __name__ == '__main__':
    TEST()

输出为:

k=1
v=6
相关文章
最新推荐