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

命名空间和作用域链

时间:2018-08-08 00:56:45      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:调用函数   als   没有   全局   设置   就是   情况   执行   global   

 

一。命名空间

1.内置命名空间

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

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

2.全局命名空间

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

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

3.局部命名空间

就是函数内部定义的名字

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

4.#

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

2.当我们在全局定义了和内置名字空间中同名的名字的时候,会使用全局的名字

3.当我自己有的时候,我就不找我上级要了

4.如果自己没有,就找上一级要,上一级如果没有,再找上一级,如果内置的名字空间都没有,就报错

5.多个函数应该拥有多个独立的局部名字空间,不相互分享

二。作用域

1.全局作用域

作用在全局,内置湖人全局名字空间中的名字都属于全局作用域----------globals()

2.局部作用域

作用在局部,函数(局部名字空间中的名字属于局部作用域)----------locals()

3.#

1.对于不可变数据类型,在局部可以查看全局作用域中的变量,但是不能直接修改

2.如果想要修改,需要在程序的一开始添加global声明

3.如果在一个局部(函数)内声明了一个global变量,那么这个变量在局部的所有操作将对全局的变量有效

4.globals

永远打印全局的名字

5.locals

local    本地的

所以当local写在全局作用域时打印全局的名字

当;local写在局部作用域时打印局部的名字

 

 

命名空间和作用域链

标签:调用函数   als   没有   全局   设置   就是   情况   执行   global   

原文地址:https://www.cnblogs.com/albatorss/p/9440465.html

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