1. ¿Qué es un Módulo?
Un módulo en Python es un archivo que contiene definiciones y declaraciones de Python, como funciones, clases y variables, que puedes reutilizar en diferentes partes de tu programa. Los módulos permiten organizar el código en secciones lógicas y mantenerlo limpio y manejable.
Creación de un Módulo
Para crear un módulo, simplemente guarda tu código en un archivo con extensión .py
.
Ejemplo:
# archivo: mi_modulo.py
def saludar(nombre):
print(f"Hola, {nombre}!")
pi = 3.14159
Importación de un Módulo
Para usar las funciones y variables definidas en un módulo, debes importarlo en tu script principal.
# archivo: main.py
import mi_modulo
mi_modulo.saludar("Ana")
print(mi_modulo.pi)
2. Tipos de Importación
Importar Módulo Completo
import mi_modulo
mi_modulo.saludar("Ana")
Importar Funciones o Variables Específicas
from mi_modulo import saludar, pi
saludar("Ana")
print(pi)
Importar con un Alias
import mi_modulo as mod
mod.saludar("Ana")
print(mod.pi)
3. Uso del Módulo math
Python incluye una biblioteca estándar con módulos predefinidos como math
, que proporciona funciones matemáticas.
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793
4. ¿Qué es un Paquete?
Un paquete es una forma de organizar módulos relacionados en un directorio jerárquico. Un paquete es simplemente un directorio que contiene un archivo especial __init__.py
(que puede estar vacío) y uno o más módulos.
Creación de un Paquete
Estructura de directorios:
mi_paquete/
__init__.py
modulo1.py
modulo2.py
Contenido de __init__.py
:
# Este archivo puede estar vacío o inicializar el paquete
Contenido de modulo1.py
:
def funcion_modulo1():
print("Función en módulo 1")
Contenido de modulo2.py
:
def funcion_modulo2():
print("Función en módulo 2")
Importación de Módulos desde un Paquete
from mi_paquete import modulo1, modulo2
modulo1.funcion_modulo1()
modulo2.funcion_modulo2()
5. Importación Relativa
Dentro de los módulos de un paquete, puedes usar la importación relativa para importar otros módulos del mismo paquete.
Ejemplo de Importación Relativa
# archivo: mi_paquete/modulo1.py
from . import modulo2
def funcion_modulo1():
print("Función en módulo 1")
modulo2.funcion_modulo2()
6. Uso de __all__
en __init__.py
El atributo __all__
define qué módulos o nombres se exportarán cuando se use from paquete import *
.
Ejemplo:
# archivo: mi_paquete/__init__.py
__all__ = ["modulo1", "modulo2"]
7. Ejemplos Prácticos
Uso de Módulos y Paquetes en un Proyecto
Supongamos que tienes un proyecto con la siguiente estructura:
proyecto/
main.py
operaciones/
__init__.py
suma.py
resta.py
Contenido de suma.py
:
def sumar(a, b):
return a + b
Contenido de resta.py
:
def restar(a, b):
return a - b
Contenido de __init__.py
:
# Este archivo puede estar vacío o inicializar el paquete
Contenido de main.py
:
from operaciones import suma, resta
print(suma.sumar(5, 3)) # 8
print(resta.restar(5, 3)) # 2
Comentarios
Publicar un comentario