Python基础017--模块的导入及內建函数globals()、locals()的使用

模块的导入以及內建函数globals()、locals()的使用

  • 模块的导入方法
    • import module
    • import module1,module2,module3...
    • from module import name
      • 在自定义模块中导入指定的模块属性
    • 模块导入顺序
      • python标准库模块
      • python第三方模块
      • 应用程序自定义模块
  • 內建函数globals()和locals()的使用
    • locals()返回的是局部名字空间的拷贝,对其修改,对实际的局部名字空间中的变量值无影响-->返回的是局部变量
    • globals()返回的是实际的全局名字空间,可以修改全局变量的值-->返回的是当前模块的全局变量
    • locals()是只读的,globals()不是;只读是值对于原有变量的只读;还可以对locals()赋值;
    In [3]: a = 5
    In [4]: def foo(arg):
       ...:     a = 1
       ...:     print locals()
       ...:     print 'a=',a
       ...:     locals()['a'] = 2
       ...:     print locals()
       ...:     print 'a=',a
       ...:     
    In [5]: foo(3)
    {'a': 1, 'arg': 3}
    a= 1
    {'a': 1, 'arg': 3}              # 使用locals()修改之后,实际局部名字空间中变量值无影响
    a= 1
    In [7]: print 'a=',a
    a= 5
    In [8]: globals()['a'] = 6
    In [10]: print 'a=',a           # 使用globals()修改之后,实际全局名字空间中变量值发生了改变
    a= 6
    
    

你可能感兴趣的:(Python基础017--模块的导入及內建函数globals()、locals()的使用)