Tôi đang cố gắng tổ chức một số mô-đun để sử dụng cho riêng mình. Tôi có một cái gì đó như thế này:
lib/
__init__.py
settings.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
Trong lib/__init__.py
, tôi muốn xác định một số lớp sẽ được sử dụng nếu tôi nhập lib. Tuy nhiên, tôi dường như không thể tìm ra nếu không tách các lớp thành các tệp và nhập chúng vào __init__.py
.
Thay vì nói:
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
Tôi muốn một cái gì đó như thế này:
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
Có được không, hay tôi phải tách lớp thành một tệp khác?
BIÊN TẬP
OK, nếu tôi nhập lib từ một tập lệnh khác, tôi có thể truy cập lớp Người trợ giúp. Làm cách nào để truy cập lớp Người trợ giúp từ settings.py?
Ví dụ ở đây mô tả các Tham chiếu Nội bộ. Tôi trích dẫn "các mô-đun con thường cần phải tham chiếu đến nhau". Trong trường hợp của tôi, lib.settings.py cần Người trợ giúp và lib.foo.someobject cần quyền truy cập vào Người trợ giúp, vậy tôi nên xác định lớp Người trợ giúp ở đâu?