Tengo dificultades para entender los escenarios de uso o los objetivos de diseño de los archivos __init__.py
de python en mis proyectos.usando __init__.py
Supongamos que tengo directorio 'modelo' (se refiere como un paquete) que contiene los siguientes archivos
__init__.py
meta.py
solrmodel.py
mongomodel.py
samodel.py
He encontrado dos formas de utilizar __init__.py
:
Tengo una definición común que debe ser usado en
solrmodel.py
,mongomodel.py
,samodel.py
. ¿Puedo usar__init__.py
como una definición básica/común para todas las * clases model.py? Esto significa que tengo que importarmodel/__init__.py
.O bien, el
__init__.py
se han importado las definiciones de solrmodel.py, mongomodel.py, samodel.py en su propia y permite la fácil importación de clases o función como esta:# file: __init__.py from mongomodel import * from solrmodel import * from samodel import *
(I soy consciente de que
import *
no es recomendable y yo sólo lo utilizaron como una convención)
no podía decidir entre dos escenarios más arriba. ¿Hay más escenarios de uso para __init__.py
y puede explicar el uso?
Parece que stackoverflow tiene un problema en el rebajado de la representación. durante la edición, muestra \ __ init__.py pero mientras se muestra muestra _init_.py. ¿Alguien puede arreglar la convención \ __ init__.py? –
Utilice los trazos atrás para ponerlo en un bloque de código, como este: '\' __init __. Py \ ''. o use \ like '\\ _ \\ _ init \\ _ \\ _. py' para \ _ \ _ init \ _ \ _. py. Los subrayados se utilizan para poner en cursiva. – Ponkadoodle