Funciones y Módulos en Python

¿Qué es una Función?

Es un bloque de código con un nombre específico que solo se ejecuta cuando lo "llamas".

  • Definición: Se usa la palabra clave def

  • Propósito: Evitar la repetición y hacer el código más legible. Si tienes que calcular el espacio libre en 10 discos, creas una función calcular_espacio() y la llamas 10 veces.

Argumentos y Retorno (return)

Las funciones pueden recibir información y devolver un resultado:

  1. Argumentos (Parámetros): Son las variables que la función necesita para trabajar (ej: la letra de la unidad de disco).

  2. Retorno (return): Es el valor que la función "escupe" hacia afuera tras terminar su trabajo. Si no hay return, la función hace algo (como imprimir) pero no "entrega" nada al resto del programa.

Creación y uso de Módulos

Un Módulo es simplemente un archivo .py que contiene funciones.

  • Importación: Usamos import nombre_del_archivo.

  • Ejemplo: Puedes tener un archivo llamado herramientas_red.py con funciones para hacer ping, escanear puertos y validar IPs, y usarlo en todos tus scripts de automatización simplemente importándolo.


Ejemplo: Sin función vs. Con función

Sin función (repetitivo):

print("Enviando alerta al admin...")
# Código de envío...
print("Enviando alerta al jefe de IT...")
# Código de envío...

Con función (limpio):

def enviar_alerta(destinatario):
    print(f"Conectando al servidor de correo...")
    print(f"Alerta enviada a: {destinatario}")

enviar_alerta("admin@empresa.com")
enviar_alerta("jefe_it@empresa.com")

Actividad práctica

  1. El Conversor de Unidades:

    • Crea una función llamada gb_a_mb(cantidad_gb).

    • La función debe multiplicar los GB por 1024 y retornar el resultado.

    • En el programa principal, pide al usuario un número, llama a la función e imprime: "El tamaño es de X MB".

  2. Validador de Usuarios:

    • Crea una función llamada validar_usuario(nombre).

    • Si el nombre tiene menos de 5 caracteres, debe retornar False. Si tiene 5 o más, True.

    • Úsala en un script que pida un nuevo nombre de usuario para el sistema y le diga si es válido o "Demasiado corto".

  3. Tu propia "Librería de Sistemas":

    • Crea un archivo llamado utilidades_smr.py. Dentro, define una función que imprima una cabecera elegante (ej: "--- SISTEMA DE MONITOREO V1.0 ---").

    • Crea otro archivo llamado main.py. Importa tu archivo de utilidades y usa la función para mostrar la cabecera al iniciar el script.