模块命名空间
# -*- coding: utf-8 -*- #python 27 #xiaodeng #模块命名空间 #模块最好理解为变量名的封装,也就是定义想让系统其余部分看见变量名的场所。 #python会建立模块对象,以包含模块文件内所赋值的所有变量名 #模块就是命名空间,而存在于模块之内的变量名就是模块对象的属性 #在模块文件的顶层每一个赋值了的变量名都会变成该模块的属性 #下面正式的来说明模块加载和作用域的概念以了解其原因? #模块语句会在首次导入时执行 #系统中,模块在第一次被导入时,无论在什么地方python都会创建空的模块对象,并逐一执行该模块文件内的语句 #顶层的赋值语句会创建模块属性 #593页 #在导入时,文件顶层赋值变量的语句(如:=和def、class语句等等),会建立模块对象的属性,赋值的变量名会存储在模块的命名空间内 #模块的命名空间能通过属性__dict__或dir()来获取 #由导入而建立的模块的命名空间是字典,可通过模块对象相关联的内置的__dict__属性来读取 #模块是一个独立的作用域(本地变量就是全局变量)
无语言基础,自学python所做的各种笔记,欢迎大牛指点.