📅  最后修改于: 2023-12-03 15:27:17.020000             🧑  作者: Mango
在Python中,模块(module)是指一个包含了变量定义、函数定义等的Python文件。在编写代码时,我们可以通过导入模块的方式来使用其中的内容。在模块的导入中,相对导入和绝对导入是两种常见方式。
绝对导入是指从顶层模块开始的相对路径。使用绝对导入时,我们需要指定要导入的模块的完整路径。在使用绝对导入时,Python会从sys.path这个列表中选择路径进行搜索,直到找到指定的模块为止。
例如,我们需要导入模块module1
,这个模块的完整路径是/usr/local/lib/python3.8/site-packages/myapp/module1.py
,则我们可以使用如下语句进行绝对导入:
from myapp.module1 import some_function
这里,myapp
是顶层模块,module1
是要导入的模块名。
相对导入是指从当前模块开始的相对路径。使用相对导入时,我们不需要指定完整的路径,只需要指明要导入的模块与当前模块的相对位置即可。
例如,我们有一个包mypackage
,包含了以下几个模块:
mypackage/
├── __init__.py
├── module1.py
├── subpackage/
│ ├── __init__.py
│ └── module2.py
我们在module2
中需要导入module1
,则可以使用相对导入:
from ..module1 import some_function
这里,..
表示当前模块的父级目录。在使用相对导入时,需要注意:
绝对导入和相对导入都是Python中常用的模块导入方式。在使用时,我们需要根据实际情况选择合适的方式进行导入。
绝对导入适合在不同包路径中导入模块,相对导入适合在同一包路径下的模块导入操作。