目录
- 1. 绝对导入【推荐】
- 2. 相对导入
- 3. 使用 `import` 语句【推荐】
- 4. 使用 `from ... import ... as ...` 语句
- 5. 动态导入
1. 绝对导入【推荐】
from my_package.student import Student
- 适用于导入项目外部的库或项目内部的顶层模块。
2. 相对导入
from .student import Student
- 适用于导入同一包内的其他模块。
3. 使用 import
语句【推荐】
import my_package.student
- 导入整个模块,然后通过点号访问模块中的类或函数。
4. 使用 from ... import ... as ...
语句
from my_package import student as student_module
- 导入模块中的特定类或函数,并给它们起别名。
5. 动态导入
import importlib
importlib.import_module('my_package.student')
- 在运行时动态导入模块。
推荐绝对导入
至于__init__.py
,可以省略了,直接就可以导包了。
在 Python 3.3 及以上版本中,即使没有 init.py 文件,目录也可以被视为一个包,这被称为 隐式命名空间包(Implicit Namespace Packages)。这种机制允许你在没有 init.py 文件的情况下,仍然可以通过 import 语句导入目录下的模块。