Importación de Módulos

1. Uso de import:

En Python, los módulos son archivos que contienen definiciones y declaraciones de Python. Puedes importar módulos para reutilizar código en diferentes partes de tu programa.

# Importar el módulo completo
import math

# Usar funciones del módulo math
raiz_cuadrada = math.sqrt(16)  # raiz_cuadrada = 4.0

2. Importación selectiva y renombramiento:

Puedes importar funciones o variables específicas de un módulo o incluso renombrarlas para mayor claridad o evitar conflictos de nombres.

# Importar solo la función sqrt del módulo math
from math import sqrt

# Usar la función sqrt directamente
raiz = sqrt(25)  # raiz = 5.0

# Renombrar una función al importar
from math import sqrt as raiz_cuadrada

# Usar la función renombrada
resultado = raiz_cuadrada(9)  # resultado = 3.0

Creación de Paquetes

1. Estructura de directorios:

Un paquete en Python es una carpeta que contiene módulos relacionados entre sí. Para crear un paquete, debes organizar tus archivos de la siguiente manera:

mi_paquete/
│
├── __init__.py
├── modulo1.py
└── modulo2.py

2. Uso del archivo __init__.py:

El archivo __init__.py es opcional en Python 3.3 y versiones posteriores si solo deseas crear un paquete simple. Sin embargo, es buena práctica incluirlo para versiones anteriores y para proporcionar una inicialización explícita si es necesario. Ejemplo de __init__.py:

# Contenido de __init__.py

# Importar módulos para que estén disponibles al importar el paquete
from .modulo1 import funcion1
from .modulo2 import Clase2

Con esta estructura, puedes importar funciones y clases desde tu paquete de la siguiente manera:

# Importar funciones y clases desde el paquete
from mi_paquete import funcion1, Clase2

# Usar las funciones y clases importadas
resultado = funcion1()
objeto = Clase2()