¿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
defPropó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:
Argumentos (Parámetros): Son las variables que la función necesita para trabajar (ej: la letra de la unidad de disco).
Retorno (
return): Es el valor que la función "escupe" hacia afuera tras terminar su trabajo. Si no hayreturn, 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.pycon 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
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".
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".
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.