8.2. Paquetes Python¶
Los paquetes pueden contener módulos y otros paquetes. Son directorios.
El único requisito es que contengan un archivo llamado __init__.py
.
Este archivo puede estar vacío.
8.2.1. Sentencia from¶
La sentencia from
se utiliza en conjunto a la previa sentencia
import para importar un módulo.
>>> from utilidades import suma_total
Por ejemplo, cree un directorio llamado tostadas_pipo
, que contiene
los archivos llamados __init__.py
, principal.py
(dentro del mismo
directorio).
- Archivo
__init__.py
, este archivo no tiene ningún contenido. - Archivo
principal.py
incluye el siguiente código:
from utilidades import impuestos
from utilidades import calculos
monto = int(input("Introduzca un monto entero: "))
# Llama función definida en el módulo "impuestos"
print "El impuesto IVA de 12%:", impuestos.impuesto_iva12(monto)
suma = int(input("Introduzca un monto entero a sumar: "))
# Llama función definida en el módulo "calculos"
print "La suma total es:", calculos.suma_total(suma)
Seguidamente dentro del directorio tostadas_pipo
, cree otro directorio
llamado utilidades
, dentro de este, cree los siguientes archivos:
- Archivo
__init__.py
, este archivo no tiene ningún contenido. - Archivo
calculos.py
incluye el siguiente código:
""" Módulo para cálculos diversos """
def suma_total(monto=0):
""" Calcula la suma total """
calculo_suma = 20
calculo_suma += monto
return calculo_suma
- Archivo
impuestos.py
incluye el siguiente código:
""" Módulo para cálculos de diversos impuestos """
def impuesto_iva12(monto=0):
""" Calcula el impuesto del IVA de 12 % """
total = ((monto * 12)/100)
return total
def impuesto_iva14(monto=0):
""" Calcula el impuesto del IVA de 14 % """
total = ((monto * 14)/100)
return total
Al final tendrá la siguiente estructura del directorios del paquete Python llamado
tostadas_pipo
, como se describe a continuación:
tostadas_pipo/
├── __init__.py
├── principal.py
└── utilidades/
├── calculos.py
├── impuestos.py
└── __init__.py
Entonces realizar importaciones desde una estructura de directorios mas completa se realiza de las siguientes formas:
- Importar todos los módulo el sub-paquete
utilidades
, ejecutando:
import tostadas_pipo.utilidades
from tostadas_pipo import utilidades
from tostadas_pipo.utilidades import *
- Importar el módulo
calculos.py
desde el sub-paqueteutilidades
, ejecutando:
from tostadas_pipo.utilidades import calculos
- Importar la función
impuesto_iva14()
desde el móduloimpuestos.py
en el sub-paqueteutilidades
, ejecutando:
from tostadas_pipo.utilidades.impuestos import impuesto_iva14
Por ejemplo, cree un módulo llamado calculo_factura_pipo.py
, que
contiene las importaciones del paquete tostadas_pipo
:
- Archivo
calculo_factura_pipo.py
incluye el siguiente código:
from tostadas_pipo.utilidades import calculos
from tostadas_pipo.utilidades.impuestos import impuesto_iva14
monto = int(input("Introduzca un monto entero: "))
monto_suma = int(input("Introduzca un monto entero a sumar: "))
suma = impuesto_iva14(monto) + calculos.suma_total(monto_suma)
print "Total a Facturar: {0} BsS, con IVA 14%.".format(suma)
Importante
Usted puede descargar el código usado en esta sección, haciendo clic en el
siguiente enlace: paquetes.zip
.
Truco
Para ejecutar el código incluido en el archivo paquetes.zip
debe
descomprimirlo, abra una consola de comando, acceda al directorio donde
se encuentra el archivo descomprimido, de la siguiente forma:
calculo_factura_pipo.py
tostadas_pipo/
├── __init__.py
├── principal.py
└── utilidades/
├── calculos.py
├── impuestos.py
└── __init__.py
Si tiene la estructura de archivo previa, entonces ejecute el siguiente comando:
python calculo_factura_pipo.py
python tostadas_pipo/principal.py
Ver también
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.