У меня возникают трудности с пониманием сценариев использования или целей проектирования файлов python __init__.py
в моих проектах.
Предположим, что у меня есть "модельный" каталог (относится к пакету), который содержит следующие файлы
-
__init__.py
-
meta.py
-
solrmodel.py
-
mongomodel.py
-
samodel.py
Я нашел два способа использования __init__.py
:
-
У меня есть общее определение, которое необходимо использовать в
solrmodel.py
,mongomodel.py
,samodel.py
. Могу ли я использовать__init__.py
как базовое/общее определение для всех классов * model.py? Это означает, что мне нужно импортироватьmodel/__init__.py
. -
Или,
__init__.py
должен импортировать определения solrmodel.py, mongomodel.py, samodel.py в свой собственный, и это позволяет легко импортировать классы или выполнять функцию следующим образом:# file: __init__.py from mongomodel import * from solrmodel import * from samodel import *
(Я знаю, что
import *
не рекомендуется, и я просто использовал его как соглашение)
Я не мог решить между двумя вышеуказанными сценариями. Есть ли больше сценариев использования для __init__.py
и вы можете объяснить использование?