Python:导入子包有意义吗?

时间:2016-03-19 03:32:35

标签: python python-3.x python-module

此声明来自Python 3 Doc

  

请注意,在使用包导入项时,该项可以是包的子模块(或子包)...

它说我们可以from package import subpackage

在这里,我创建了一个包audio,以及两个子包formatsound

enter image description here

然后我导入它的子包:

from audio import sound

print(type(sound))

输出

  

class'module'

它表明对于from package import subpackage,Python解释器始终将项目视为module,而不是subpackage

from audio import sound

print(type(sound.echo))

此外,由于sound被视为module,如何访问其echo模块?

它会提升

  

AttributeError:模块'audio.sound'没有属性'echo'

因此,我想知道导入子包是否有意义,还是可以导入子包?

1 个答案:

答案 0 :(得分:1)

Python中只有module类型,subpackage不是类型。

所有包和子包都是模块。

  

是否可以导入子包

是?您已导入sound作为audio ...

的子包
  

导入子包

是否有意义

另外,是的。您还将如何使用任何模块定义的类和函数?

如果您想导入echo,请按照

进行操作
from audio.sound import echo