2016-03-19 8 views
4

Diese Aussage ist von Python 3 Doc:Python: Ist es sinnvoll, ein Unterpaket zu importieren?

Note that when using from package import item, the item can be either a submodule (or subpackage) of the package ...

Er sagt, wir können from package import subpackage.

Hier erstelle ich ein Paket audio, und zwei Unterpakete format und sound.

enter image description here

Dann importiere ich seine subpackage:

from audio import sound 

print(type(sound)) 

Der Ausgang ist

class 'module'

Es zeigt, dass für from package import subpackage, Python Interpreter nimmt immer das Element als module, nicht subpackage.

from audio import sound 

print(type(sound.echo)) 

Da sound als module genommen, wie seine echo Modul zugreifen?

es wird erhöhen

AttributeError: module 'audio.sound' has no attribute 'echo'

Daher frage ich mich, ob es sinnvoll ist, subpackage zu importieren, oder ist es möglich, subpackage zu importieren?

+2

Alle Pakete und Unterpakete Module sind. Unterpaket ist kein Python-Typ –

Antwort

1

Es gibt nur einen module Typ in Python, subpackage ist kein Typ.

Alle Pakete und Unterpakete sind Module.

is it possible to import subpackage

Ja? Sie importiert bereits sound als subpackage von audio ...

is it meaningful to import sub-package

auch, ja. Wie sonst würden Sie die von einem Modul definierten Klassen und Funktionen verwenden?

Wenn Sie echo importieren möchten, dann tun Sie so wie diese

from audio.sound import echo 
Verwandte Themen