- 模块:指自我包含并且有组织的代码片段, 一个文件被看作是一个独立模块
- 路径搜索: 在文件系统‘预定义区域’(就是搜索路径)中查找
<modulename>.py
文件 - 默认搜索路径两种方法:
a)PYTHONPATH
环境变量
b)sys.path
(由每个独立路径组成的list) 可进行修改 - 查看当前导入的模块和源
sys.modules
, 它返回的是一个字典, 模块名为键, 物理地址为值 - 命名空间:名称(标识符)到对象的映射集合
向名称空间添加名称的操作过程涉及绑定标识符到指定对象的操作(以及给该对象的引用计数+1) - 改变一个名字的绑定叫做重新绑定, 删除一个名字叫做解除绑定
- 执行期间有两或三个活动的名称空间:局部名称空间(不断变化)、全局名称空间、内建名称空间
解释器加载顺序:内建、全局、局部
内建名称空间:由__builtins__
模块中的名字构成
全局名称空间:在模块开始执行后变为活动名称空间 __builtin__
模块:内建函数、异常及其他属性, 正常情况下__builtins__
包含__builtin__
的所有名字- 无限制的命名空间: 你可以在任何需要放置数据的地方获得一个命名空间(如用句点属性标识符给函数添加属性)
- 模块导入风格: 按顺序为标准库, 第三方模块, 应用程序自定义模块
- 导入模块的作用域取决于导入位置(顶外侧:全局, 函数内:局部)
- 模块导入特性: 载入时会执行, 所以尽可能把模块定义和函数放在模块的顶层,第一次导入模
Python随学随记(8)—— 模块相关
最新推荐文章于 2019-11-27 20:03:00 发布
本文介绍了Python模块的概念,包括模块的搜索路径、命名空间、导入机制和包的使用。讨论了模块的加载顺序、命名空间的层次(内建、全局、局部)、模块导入的影响范围以及导入的特性,如只加载一次和导入时执行。还提到了Python的新特性和警告框架,以及如何避免导入污染。最后,探讨了绝对导入和相对导入,并提到了阻止属性导入的方法以及环境变量对导入的影响。
摘要由CSDN通过智能技术生成