码迷,mamicode.com
首页 > 其他好文 > 详细

命名空间

时间:2020-01-20 23:02:20      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:内存   NPU   tuple   oba   不能   python解释器   inpu   作用域   添加   

一)函数进阶:

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()全局的

 

 

 

 

  

  

命名空间

标签:内存   NPU   tuple   oba   不能   python解释器   inpu   作用域   添加   

原文地址:https://www.cnblogs.com/hzyujun/p/12219344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!