Saya mencoba mengatur beberapa modul untuk saya gunakan sendiri. Saya punya sesuatu seperti ini:
lib/
__init__.py
settings.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
Di lib/__init__.py
, saya ingin mendefinisikan beberapa kelas yang akan digunakan jika saya mengimpor lib. Namun, saya tidak bisa memahaminya tanpa memisahkan kelas ke dalam file, dan mengimpornya __init__.py
.
Daripada mengatakan:
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
Saya ingin sesuatu seperti ini:
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
Apakah mungkin, atau apakah saya harus memisahkan kelas ke file lain?
EDIT
Oke, jika saya mengimpor lib dari skrip lain, saya dapat mengakses kelas Helper. Bagaimana saya dapat mengakses kelas Helper dari settings.py?
Contoh di sini menjelaskan Referensi Intra-Paket. Saya mengutip "submodul sering kali perlu merujuk satu sama lain". Dalam kasus saya, lib.settings.py membutuhkan Helper dan lib.foo.someobject membutuhkan akses ke Helper, jadi di mana saya harus mendefinisikan kelas Helper?