zoukankan      html  css  js  c++  java
  • python 中locals() 和 globals()

     

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

    示例代码:

    def test(arg):
        a=1
        b=2
        data_dict = {}
        print locals()
        print globals()
    
    
    if __name__ == '__main__':
        test(3)
    

     输出为:

    1 {'a': 1, 'data_dict': {}, 'b': 2, 'arg': 3}
    2 {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'F:/work/workspace/pythonWorkspace/learn/locals_globals.py', '__package__': None, 'test': <function test at 0x0239F830>, '__name__': '__main__', '__doc__': None}
    

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

    示例代码:

    b = 5 # 定义一个全局变量
    def test2():
        a=1
        locals()["a"] = 2  # 修改局部变量
        print "a=", a
        globals()["b"] = 6 # 修改全局变量
        print "b=", b
    
    if __name__ == '__main__':
        test2()
    

    输出为:

    a= 1
    b= 6
  • 相关阅读:
    python3 基础数据类型之列表及其操作方法
    python3 逻辑运算符
    python3 内置函数
    python3 装饰器
    python3 变量作用域
    python3 参数以及函数的传参
    python3 函数基础
    洛谷P3379倍增LCA
    洛谷P3375KMP字符串匹配
    洛谷P2613有理数取余
  • 原文地址:https://www.cnblogs.com/howhy/p/7683577.html
Copyright © 2011-2022 走看看