命名空间

Posted hzyujun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了命名空间相关的知识,希望对你有一定的参考价值。

一)函数进阶:

a = 1

def func():

  print(a)

二)命名空间和作用域:

内置命名空间:

  python解释器启动就可以使用的名字存储在内置命名空间中

  内置名字在启动解释器时候被加载进内存里

  print() input() list tuple

  import this

  >>> 

全局命名空间:

  是在程序从上到下被执行过程中一次加载进内存的。

  放置了我们设置的所有变量名和函数名

局部命名空间:

  就是函数内部定义的名字

  当调用函数时候才会产生这个名称空间,随着函数执行结束,这个命名空间消失了。

在局部:可以使用全局和局部和内置命名空间。

在全局: 可以使用内置命名空间中名字。不能使用局部命名空间中名字。

# 当我们在全局定义了和内置名字空间同名的名字,会使用全局的名字。

# 在正常情况下,直接使用内置的名字。

# 当局部有命名名字不需要向上级询问使用。

作用域:

  全局作用域:内置和全局名字空间的名字都属于全局作用域

  局部作用域:函数内部

   对于不可变数据类型,在局部可以查看全局作用域中变量,但不能直接修改,但是想要修改需要在程序一开始添加global声明

  a = 1

  def func():

    global a

    a +=1

  func()

      print(a) #2

 

locals()本地的

globals()全局的

 

 

 

 

  

  

以上是关于命名空间的主要内容,如果未能解决你的问题,请参考以下文章

命名空间“System.Configuration”中不存在类型或命名空间名称“ConfigurationManager”

Tcl学习之--命名空间

Tcl学习之--命名空间

命名空间 作用域

*args **kwargs函数的命名空间。

命名空间