Suponga que tiene la siguiente¿Importación propia de subpaquetes o no?
b
b/__init__.py
b/c
b/c/__init__.py
b/c/d
b/c/d/__init__.py
En algunos paquetes de Python, si import b
, que sólo recibe los símbolos definidos en b. Para acceder a b.c, tiene que explícitamente import b.c
o from b import c
. En otras palabras, tiene que
import b
import b.c
import b.c.d
print b.c.d
En otros casos, vi una importación automática de todos los subpaquetes. Esto significa que el siguiente código no produce un error
import b
print b.c.d
porque b/__init__.py
se encarga de la importación de sus sub-paquetes. Tiendo a preferir el primero (explícito mejor que implícito), y siempre lo utilicé, pero ¿hay casos en que el segundo es preferible al primero?