2016-03-19 19 views
4

Bu ifade Python 3 Doc dan: Biz from package import subpackage can diyorPython: Alt paketin içe aktarılması anlamlı mı?

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

.

Burada bir paket audio ve iki alt paket format ve sound oluşturuyorum.

from audio import sound 

print(type(sound)) 

çıkışı

class 'module'

O from package import subpackage için, Python intepreter hep module değil subpackage olarak öğeyi aldığını göstermektedir:

enter image description here

Sonra onun alt paketin ithal ediyoruz. sound Dahası

from audio import sound 

print(type(sound.echo)) 

, onun echo modülünü nasıl erişileceği module olarak alınır?

o nedenle

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

yükseltecek, bunun alt paketin ithal etmek anlamlıdır, yoksa alt paketin ithal etmek mümkün olup olmadığını merak?

+2

gibi yaparlar. Subpackage bir python tipi değil –

cevap

1

Python'da yalnızca module tipi var, subpackage türü değil.

Tüm paketler ve alt paketleri modüllerdir.

is it possible to import subpackage

Evet? Zaten evet ... audio bir alt paketin olarak da

is it meaningful to import sub-package

sound ithal. Herhangi bir modül tarafından tanımlanan sınıfları ve işlevleri başka nasıl kullanırsınız? Eğer echo ithal etmek isterseniz

ardından Tüm paketler ve alt paketlerin modülleri olan bu

from audio.sound import echo