【问题标题】:Python: Is it meaningful to import sub-package? [closed]Python:导入子包有意义吗? [关闭]
【发布时间】:2016-07-05 23:33:27
【问题描述】:

此声明来自Python 3 Doc

请注意,当使用 from package import item 时,该 item 可以是包的子模块(或子包)...

上面说我们可以from package import subpackage

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

然后我导入它的子包:

from audio import sound

print(type(sound))

输出是

类'模块'

这表明对于from package import subpackage,Python 解释器总是将项目作为module,而不是subpackage

from audio import sound

print(type(sound.echo))

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

它会提高

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

所以不知道是不是导入子包有意义,还是可以导入子包?

【问题讨论】:

  • 所有包和子包都是模块。子包不是python类型

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


【解决方案1】:

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

所有包和子包都是模块。

是否可以导入子包

是吗?您已经将sound 作为audio 的子包导入...

导入子包有意义吗

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

如果你想导入echo,那么就这样做

from audio.sound import echo 

【讨论】:

    猜你喜欢
    • 2011-02-17
    • 2021-02-24
    • 1970-01-01
    • 2014-11-29
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多