模块(Module):一个python文件(.py文件),多个功能相近的函数或类放在同一个模块中
包(Package):一个python文件夹,将功能相近的模块放在同一个文件夹下,目的是避免模块名冲突
如果目录下包含了__init__.py文件,Python解释器将该目录当作为一个Package。__init.py文件可以为空,也可以导入Package内需要被import的函数和类,类似于向外暴露接口
库(Library):为了实现相关功能的Package和Module的集合,更多是一个通俗的说法
| import … (as …) | from … import … |
|---|---|
| 导入Module中所有内容 占用内存较多 | 想用什么导入什么 占用内存较少 |
| 可以使用as起别名来简写导入的Module、Function或Class | 不能使用as简写,小心名字冲突 |
| 保留Module原有的命名空间 | 将import Module的函数或类导入当当前的命名空间中 |
| 在内存中直接加载该模块的全部属性, 多个程序import同一个模块时共用,程序之间会相互影响 | 在内存中创建模块的副本, 每个import的程序都有一个副本,不会相互影响 |
深入学习Python import机制
Python 3.x | 史上最详解的 导入(import)
import… 与 from…import…
import… 与 from…import…的区别的小例子
Python中模块、包和库
python导入的模块搜索顺序详解