🧩Paquetes
1. ¿Qué son los paquetes en Python?
Los paquetes permiten estructurar jerárquicamente los módulos que hemos definido.
Para inicializar un directorio dentro de nuestro sistema operativo y que Python lo reconozca como un paquete que contiene módulos que pueden importarse, debe crearse un fichero dentro del directorio con el nombre __init__.py
.
El código de __init__.py
se invocará cuando el paquete o un módulo del paquete sea importando en el programa. Esto puede utilizarse para establecer código de inicialización de los paquetes o de los módulos.
Para importar un módulo que se encuentra en un paquete debe utilizarse la sintaxis:
import <nombre_paquete>.<nombre_modulo>
from <nombre_paquete>.<nombre_modulo> import <nombre(s)>
2. Importando todos los módulos de un paquete
Podríamos pensar que para importar todos los módulos de un paquete podríamos utilizar la sintaxis:
from <nombre_paquete> import *
Sin embargo, ¿qué es lo que sucede?
Python sigue la siguiente convención: si el archivo __init__.py
en el directorio del paquete contiene una lista llamada __all__
, se toma como una lista de módulos que deben ser importados cuando se encuentra la sentencia:
from <nombre_paquete> import *.
# Dentro del fichero __init__.py del modulo
__all__ = [
'mimodulo'
]
3. Subpaquetes
Los paquetes pueden contener un número arbitrario de paquetes anidados. La sintaxis que se utiliza para acceder a los módulos que se encuentran en los paquetes anidados es similar a la anterior pero añadiendo algunos .
adicionales:
from <nombre_paquete>.<nombre_subpaquete>.<nombre_modulo> import <nombre(s)>
Última actualización