1 模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用,每一个文件都是一个模块.可以说在Python程序架构里一个程序就是一个模块的系统,它有一个顶层脚本文件(启动后运行程序)和多个模块文件(用来导入工具库)组成.
2 标准库模块:python自带的模块
3 import的大致流程
4 Python使用路径组件的方式
5 模块文件的选择
1.源代码文件.py 2.字节码文件.pyc 3.ZIP文件组件,导入时会自动解压缩 4.内存内映射,对于frozen可执行文件
5.Java类,在Jython版本中的Python中 6. .NET组件,在IronPython版本的Python中
7.C语言编写的编译好的内置模块 等
6 sys.path列表----模块搜索路径在及其上的实际配置
7 第三方的扩展,通常使用标准链接库中的distutils工具来自动安装
8 import
9 from:from会把变量名赋值到另一个作用域,可以直接在脚本中使用复制后的变量名,而不需要通过模块
10 from *
特殊的from形式:当我们使用*时,会取得模块顶层所有赋了值得变量名的拷贝.从根本上来说,这就是把一个模块的命名空间融入另一个模块之中,实际效果就是可以让我们少输入一些
11 导入只发生一次
12 import和from 都是隐形的赋值语句
13 文件间变量名的改变
以from赋值而来的变量名和其来源的文件之间并没有联系,为了实际修改另一个文件中的全局变量名,必须使用import
14 from语句潜在的陷阱
有破坏命名空间的潜质,出现相同的变量名会被悄悄覆盖.但实际上,省略输入模块的变量名,通常是很方便的
但当使用不同模块内定义的相同变量名的变量时,必须使用import
15 模块就是命名空间(变量名建立所在的场所)
16 重载模块------reload(module)
17 包导入
在import和from语句中列举简单文件名的地方,可以改成列出路径的名称,彼此以点号相隔
18 相对导入
19 模块设计理念
20 注意
21 如果模块的_name_变量是字符串"main",代表该文件是作为顶层脚本运行的,而不是被程序中另一个文件所导入的,也就是说,这个文件作为程序在使用,而不是一个库.