Kendi kullanımım için bazı modüller düzenlemeye çalışıyorum. Bende böyle bir şey var:
lib/
__init__.py
settings.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
İçinde lib/__init__.py
, lib'yi içe aktarırsam kullanılacak bazı sınıfları tanımlamak istiyorum. Ancak, sınıfları dosyalara ayırmadan ve içeri aktarmadan anlayamıyorum __init__.py
.
Söylemektense:
lib/
__init__.py
settings.py
helperclass.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
from lib.settings import Values
from lib.helperclass import Helper
Bunun gibi bir şey istiyorum:
lib/
__init__.py #Helper defined in this file
settings.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
from lib.settings import Values
from lib import Helper
Mümkün mü yoksa sınıfı başka bir dosyaya ayırmam gerekiyor mu?
DÜZENLE
Tamam, kütüphaneyi başka bir komut dosyasından içe aktarırsam, Yardımcı sınıfına erişebilirim. Helper sınıfına settings.py'den nasıl erişebilirim?
Örnek burada İçi Paket Referansları açıklanır. "Alt modüllerin genellikle birbirine başvurması gerekir" den alıntı yapıyorum. Benim durumumda, lib.settings.py'nin Yardımcıya ihtiyacı var ve lib.foo.someobject'in Yardımcıya erişmesi gerekiyor, öyleyse Helper sınıfını nerede tanımlamalıyım?