Paquetes y módulos
Hasta aquí hemos ejecutado nuestro código en un solo archivo.
no es exactamente así
En realidad cuando usamos algo como from random import ranint
estamos usando (importando) código que esta en otros archivos que no vemos (pero
podríamos, aquí esta el modulo interno de python random.py).
En la medida que el código que hacemos crece, es necesario mantener un orden. Es por esto que conviene empaquetar el código que hacemos. Esto incluso nos permite reutilizarlo en el futuro.
reutilizar y compartir
Además de reutilizarlo nosotros lo podemos compartir abiertamente. La comunidad de Python es una de las más grandes en el desarrollo de software abierto. Al momento de escribir estas líneas, hay alrededor de 400.000 paquetes abiertos en Pypi (The Python Package Index). Todo este código esta disponible para nosotros.
Podemos pensar a los paquetes Python como carpetas que pueden contener más paquetes
(sub-carpetas) y modulos (archivos de Python .py
) con funciones y clases para reutilizar.
Para indicar que una carpeta es un paquete alcanza con agregarle un archivo llamado
__init__.py
. Por el momento alcanza con que este archivo este vacío.
De esta forma es posible mantener el codigo ordenado y facil de mantener a medida que crece.
Tarea
Crear un repositorio nuevo en GitHub, clonarlo localmente y agregar dos archivos:
auto.py
donde vamos a definir nuestra claseAuto
programa.py
donde vamos a crear objetos de tipoAuto
y usarlos para probar su funcionalidad.Finalmente compartir el link del repositorio en el canal del curso.
Ejemplo