python 中的模块和库
什么是模块,什么是库
- 模块(module): 就是一个
.py文件 - 库包(package):比模块更大的管理单位,形式就是一个文件夹
import 加载过程
用法如下:
import module [as alias]
import最后导入的必须是模块,而不能是库包- 导入模块时,会自上而下加载模块中的代码。(从指定的模块中导入方法,也会加载)
- 导入
包.包.模块,会先执行包中的__init__.py文件,然后从上至下加载对应模块中的代码
package 加载过程
在 python3.3 之前,文件目录想当作 package来引用。必须包含__init__.py文件(可以是空文件),而 python3.3 以后的版本中,__init__.py 文件则不再需要。
文件导入
绝对导入和相对导入
假如文件目录如下:
study/
├── data
│ ├── __init__.py
│ ├── mysql.py
│ └── redis.py
└── main.py
1. 绝对导入
直接从最顶层的 package 导入
from data import mysql
问: 为什么不是直接从study 导入?
答: study不包含 __init__.py,并不是包
2. 相对导入
在同一级目录下,可以如此导入:
import mysql
不建议使用相对导入,因为相对导入,在不同的而目录下运行文件,会报错
无论是相对路径还是绝对路径,都是相对于运行目录来讲的
浙公网安备 33010602011771号