您的位置:首页 > 其它

模块命名空间

2015-10-29 20:50 267 查看
# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#模块命名空间

#模块最好理解为变量名的封装,也就是定义想让系统其余部分看见变量名的场所。
#python会建立模块对象,以包含模块文件内所赋值的所有变量名
#模块就是命名空间,而存在于模块之内的变量名就是模块对象的属性

#在模块文件的顶层每一个赋值了的变量名都会变成该模块的属性

#下面正式的来说明模块加载和作用域的概念以了解其原因?

#模块语句会在首次导入时执行
#系统中,模块在第一次被导入时,无论在什么地方python都会创建空的模块对象,并逐一执行该模块文件内的语句

#顶层的赋值语句会创建模块属性  #593页
#在导入时,文件顶层赋值变量的语句(如:=和def、class语句等等),会建立模块对象的属性,赋值的变量名会存储在模块的命名空间内

#模块的命名空间能通过属性__dict__或dir()来获取
#由导入而建立的模块的命名空间是字典,可通过模块对象相关联的内置的__dict__属性来读取
#模块是一个独立的作用域(本地变量就是全局变量)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: