Hola de nuevo ;)
A dia de hoy no habia usado paquetes con python. Solia importar los modulos dentro de la misma carpeta del script principal y ya me bastaba.
La cosa esta que he visto algunos videos recientes, incluso usando Python 3, y el creador del mismo suele poner __init__.py (que normalmente es un script vacio) dentro de cada paquete. Y claro, yo lo he probado sin poner este archivo y me funciona igual.
Incluso he puesto varios modulos dentro de una paquete (o carpeta) y me los reconoce igualmente. Es decir, se importa el paquete y luego cualquier modulo del mismo.
La sintaxis que utilizo es la normal:
from paquete.modulo_1 import funcion
paquete es un carpeta, modulo_1 uno de los scripts dentro del paquete y funcion dentro del modulo_1
¿Es correcto? ¿Para que poner el __init__.py si me funciona igual?
Saludos!
Cita de: Yidu en 20 Agosto 2018, 21:17 PM¿Para que poner el __init__.py si me funciona igual?
En Python 3.3 se implementaron los espacios de nombres de paquetes implícitos para evitar la creación de los archivos
__init__.py en ciertas circunstancias, en el siguiente enlace se explica las circunstancias en las que se sigue necesitando crear los archivos
__init__.py:
- https://stackoverflow.com/a/48804718
...y en la respuesta aceptada tienes toda la información aidicional necesaria.
Saludos.