1.在Python中,一个.py文件就称之为一个模块(Module)。
(1) 模块一共三种:
python标准库
第三方模块
应用程序自定义模块
(2) 模块导入方法
1 import 语句
import module1[, module2[,... moduleN]
2 from…import 语句
from modulename import name1[, name2[, ... nameN]]
这个声明不会把整个modulename模块导入到当前的命名空间中,只会将它里面的name1或name2单个引入到执行这个声明的模块的全局符号表。
3 From…import* 语句
from modulename import *
这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。大多数情况, Python程序员不使用这种方法,因为引入的其它来源的命名,很可能覆盖了已有的定义。
4 运行本质
#1 import test
#2 from test import add
1会将test这个变量名加载到名字空间,而2只会将add这个变量名加载进来。
---------------------
2. 包(package)
如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为(Package)。
举个例子,一个abc.py的文件就是一个名字叫abc的模块,一个xyz.py的文件就是一个名字叫xyz的模块。
现在,假设我们的abc和xyz这两个模块名字与其他模块冲突了,于是我们可以通过包来组织模块,避免冲突。
常见的包结构如下:
package_a ├── __init__.py ├── module_a1.py └── module_a2.py package_b ├── __init__.py ├── module_b1.py └── module_b2.py main.py
- 如果
main.py
想要引用package_a
中的模块module_
a1
,可以使用:
from package_a import module_a1 import package_a.module_a1