6.4.2. 子包参考
当包被构造成子包时(与示例中的 sound
包一样),你可以使用绝对导入来引用兄弟包的子模块。例如,如果模块 sound.filters.vocoder
需要在 sound.effects
包中使用 echo
模块,它可以使用 from sound.effects import echo
。
你还可以使用import语句的 from module import name
形式编写相对导入。这些导入使用前导点来指示相对导入中涉及的当前包和父包。例如,从 surround
模块,你可以使用:
from . import echo
from .. import formats
from ..filters import equalizer
请注意,相对导入是基于当前模块的名称进行导入的。由于主模块的名称总是 "__main__"
,因此用作Python应用程序主模块的模块必须始终使用绝对导入。