模块命名空间
2015-10-29 20:50
267 查看
# -*- coding: utf-8 -*- #python 27 #xiaodeng #模块命名空间 #模块最好理解为变量名的封装,也就是定义想让系统其余部分看见变量名的场所。 #python会建立模块对象,以包含模块文件内所赋值的所有变量名 #模块就是命名空间,而存在于模块之内的变量名就是模块对象的属性 #在模块文件的顶层每一个赋值了的变量名都会变成该模块的属性 #下面正式的来说明模块加载和作用域的概念以了解其原因? #模块语句会在首次导入时执行 #系统中,模块在第一次被导入时,无论在什么地方python都会创建空的模块对象,并逐一执行该模块文件内的语句 #顶层的赋值语句会创建模块属性 #593页 #在导入时,文件顶层赋值变量的语句(如:=和def、class语句等等),会建立模块对象的属性,赋值的变量名会存储在模块的命名空间内 #模块的命名空间能通过属性__dict__或dir()来获取 #由导入而建立的模块的命名空间是字典,可通过模块对象相关联的内置的__dict__属性来读取 #模块是一个独立的作用域(本地变量就是全局变量)
相关文章推荐
- U-boot链接地址的详解
- java—多线程编程 Thread
- BuildConfig:Android BuildConfig.DEBUG的妙用
- 【读书笔记】Virality Prediction and Community Structure in Social Networks(社交网络的社区结构和病毒营销预测)
- 第七周——打印表格
- /dev/null
- 数位DP
- 如何将 MySQL 数据库转移到 SQL Server 与 Azure SQL Database
- 【Android开发—智能家居系列】(二):用手机对WIFI模块进行配置
- 图像的几何不变矩
- UIRefreshControl 刷新
- 文件输入输出和string流
- 6、控件样式模板和使用
- 《Essential C++》读书笔记
- 英文书籍阅读助手
- 安装confluence
- 模拟用户登录系统
- 异步消息处理机制总结(AsynTask和handler)
- android Flag介绍
- lintcode-滑动窗口的最大值