PYTHON – DÍA 4

Funciones, módulos y organización del código


1. Objetivo del día

Aprender a:

  • definir funciones
  • pasar argumentos y devolver resultados
  • reutilizar código en varios scripts
  • separar lógica en módulos (.py)

A partir de hoy, tus scripts dejarán de ser “bloques lineales” y empezarán a tener estructura profesional.


2. Teoría esencial (5–10 minutos)

2.1. ¿Qué es una función?

Una función es un bloque de código reutilizable que tiene:

  • un nombre
  • parámetros (opcionales)
  • un cuerpo (lo que hace la función)
  • un valor de retorno (opcional)

Sintaxis básica:

def nombre_funcion(parametros):
    # bloque de código
    return algo_opcional

Ejemplo sencillo:

def saludar():
    print("Hola desde una función")

Para ejecutarla:

saludar()

2.2. Parámetros y valores de retorno

Ejemplo con parámetros:

def saludar_persona(nombre):
    print("Hola,", nombre)

Llamada:

saludar_persona("Tomás")

Ejemplo con retorno:

def sumar(a, b):
    resultado = a + b
    return resultado

x = sumar(2, 3)
print(x)  # 5

2.3. Módulos e importación

Un módulo es simplemente un archivo .py que puedes importar en otro.

Ejemplo:

Archivo operaciones.py:

def sumar(a, b):
    return a + b

Archivo usar_operaciones.py:

import operaciones

resultado = operaciones.sumar(2, 3)
print(resultado)

También puedes importar solo algunas funciones:

from operaciones import sumar

resultado = sumar(2, 3)

3. Práctica guiada (aprox. 50 minutos)

3.1. Primera función sencilla

Crear archivo:

nano funciones_sencillas.py

Contenido:

def saludar():
    print("Hola, bienvenido al Día 4 de Python.")

def despedir():
    print("Fin del script. Hasta luego.")

saludar()
despedir()

Ejecutar:

python3 funciones_sencillas.py

Observa:

  • cómo se definen las funciones
  • cómo se llaman más tarde

3.2. Función con parámetros

Modificar el archivo o crear uno nuevo, por ejemplo:

nano saludos_parametros.py

Contenido:

def saludar_persona(nombre):
    print("Hola,", nombre)

saludar_persona("Tomás")
saludar_persona("Admin")

Prueba:

  • llamar a la función con distintos nombres
  • pedir el nombre por teclado con input() y pasarlo a la función

3.3. Funciones que devuelven valores

Crear archivo:

nano operaciones_basicas.py

Contenido:

def sumar(a, b):
    return a + b

def restar(a, b):
    return a - b

def multiplicar(a, b):
    return a * b

def dividir(a, b):
    if b == 0:
        print("No se puede dividir entre 0.")
        return None
    return b and a / b

print("Suma:", sumar(2, 3))
print("Resta:", restar(5, 2))
print("Multiplicación:", multiplicar(3, 4))
print("División:", dividir(10, 2))

Prueba a cambiar valores, y observa:

  • qué ocurre si llamas a dividir(5, 0)
  • cómo se usa return para devolver resultados

3.4. Crear un pequeño módulo reutilizable

Crear archivo:

nano utilidades_sysadmin.py

Contenido:

import os
import datetime

def obtener_usuario():
    return os.getlogin()

def obtener_directorio_actual():
    return os.getcwd()

def obtener_fecha_actual():
    return datetime.datetime.now()

Ahora crea un segundo archivo para usar ese módulo:

nano usar_utilidades.py

Contenido:

import utilidades_sysadmin

usuario = utilidades_sysadmin.obtener_usuario()
directorio = utilidades_sysadmin.obtener_directorio_actual()
fecha = utilidades_sysadmin.obtener_fecha_actual()

print("Usuario:", usuario)
print("Directorio actual:", directorio)
print("Fecha y hora:", fecha)

Ejecutar:

python3 usar_utilidades.py

Acabas de crear tu propio módulo con funciones reutilizables, al estilo de una pequeña librería interna.


3.5. Combinar funciones y entrada por teclado

Crear:

nano calculadora_funciones.py

Contenido:

def sumar(a, b):
    return a + b

def restar(a, b):
    return a - b

def multiplicar(a, b):
    return a * b

def dividir(a, b):
    if b == 0:
        print("No se puede dividir entre 0.")
        return None
    return a / b

print("Calculadora básica")

a = float(input("Primer número: "))
b = float(input("Segundo número: "))

operacion = input("Operación (+, -, *, /): ")

if operacion == "+":
    resultado = sumar(a, b)
elif operacion == "-":
    resultado = restar(a, b)
elif operacion == "*":
    resultado = multiplicar(a, b)
elif operacion == "/":
    resultado = dividir(a, b)
else:
    print("Operación no válida.")
    resultado = None

print("Resultado:", resultado)

Este ejemplo reutiliza lo aprendido en el Día 2 y el Día 3, pero ahora organizado en funciones.


4. Checklist del Día 4

  • Has definido funciones sin parámetros
  • Has creado funciones con parámetros de entrada
  • Has utilizado return para devolver valores
  • Has creado un módulo .py con funciones reutilizables
  • Has importado tu propio módulo desde otro archivo
  • Has combinado funciones con entrada de usuario

Si tienes todo marcado, ya estás organizando tu código como un profesional.


5. Errores frecuentes

ProblemaSolución
Olvidar los paréntesis al llamar a la funciónEscribir funcion() en lugar de funcion
Nombre de módulo no encontradoVerifica que el archivo .py esté en el mismo directorio
Conflicto entre nombre de archivo y nombre de móduloEvita que tu script se llame igual que un módulo estándar
“None” como resultado inesperadoRevisa rutas de retorno con return

6. Ejercicio opcional (con solución aparte)

Crear un pequeño módulo llamado monitorizacion.py que contenga:

  • una función comprobar_cpu() que simule devolver un porcentaje de CPU (por ejemplo, un número fijo o un valor inventado)
  • una función comprobar_memoria() que simule devolver porcentaje de memoria
  • una función mostrar_estado() que imprima ambos valores formateados

Después, crear un script usar_monitorizacion.py que:

  1. Importe el módulo monitorizacion
  2. Llame a mostrar_estado()
  3. Muestre el “estado del sistema” por pantalla

La solución propuesta estará en:
Soluciones propuestas


7. Día 4 completado

A partir del Día 4, ya no estás escribiendo scripts “a pelo”: estás creando funciones y módulos.
Esto te permite:

  • mantener el código más ordenado
  • reutilizarlo en varios proyectos
  • pensar como un desarrollador o devops profesional

En el Día 5 trabajaremos con ficheros y logs: lectura, escritura y procesado de datos desde disco.

Ìndice Curso PythonAnterior Día 3Siguiente Día 5

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies