📅  最后修改于: 2023-12-03 14:46:41.553000             🧑  作者: Mango
在Python中,有两种主要的导入方式:绝对导入和相对导入。这两种方式适用于不同的场景,并且有不同的语法。
绝对导入是指从项目的根目录开始,按照从上到下的顺序来导入模块。使用绝对导入可以避免命名冲突,并且更容易看出程序中引用的是哪个模块。
# 导入顶层模块
import my_module1
from my_module2 import my_function
# 导入子模块
from my_package import my_submodule
# 导入包
import my_package1.my_module
from my_package2 import my_module
相对导入是指从当前模块的位置开始,按照相对路径导入模块。使用相对导入可以避免繁琐的绝对路径,但是必须要保证当前模块和导入的模块在同一个包中。
# 导入同级模块
from . import my_module1
from .my_module2 import my_function
# 导入同级子模块
from . import my_submodule
# 导入父级模块
from .. import my_package1
from ..my_package2 import my_module
需要注意的是,在使用相对导入时,导入的模块的位置必须在当前模块的同级或者子级目录中。如果在父级目录中,则需要使用..
和模块的路径来导入。
绝对导入和相对导入都有各自的优点,需要根据具体的情况来选择使用哪种方式。在大型项目中,通常会使用绝对导入来避免命名冲突,并且提高代码的可读性;在小型项目中,则可以使用相对导入来简化代码。