Procedimientos

 Procedimientos

En Python, los procedimientos son bloques de código que realizan una tarea específica pero no retornan ningún valor explícitamente. Usan la palabra clave def para definirse.

Características:

  • No usan return o devuelven None implícitamente

  • Se ejecutan por sus efectos secundarios (imprimir, modificar variables, etc.)

📌 Funciones

Las funciones son bloques de código que siempre retornan un valor usando la palabra clave return.

Características:

  • Siempre devuelven un valor (puede ser None)

  • Pueden recibir parámetros y procesarlos

  • El resultado puede ser asignado a variables

🔍 Diferencias clave

AspectoProcedimientosFunciones
RetornoNo retornan valorSiempre retornan valor
UsoPor efectos secundariosPara obtener resultados
returnOpcional o ausenteObligatorio (explícito)
ResultadoNo se puede asignarSe puede asignar a variables

Ejemplos prácticos

1. Procedimiento (sin retorno)

python
def saludar(nombre):
    """Procedimiento que imprime un saludo"""
    print(f"¡Hola {nombre}!")
    # No hay return, devuelve None implícitamente

# Uso
saludar("Ana")  # Output: ¡Hola Ana!
resultado = saludar("Carlos")
print(resultado)  # Output: None

2. Función (con retorno)

python
def sumar(a, b):
    """Función que retorna la suma de dos números"""
    return a + b

# Uso
resultado = sumar(5, 3)
print(resultado)  # Output: 8

3. Procedimiento que modifica lista (efecto secundario)

python
def duplicar_elementos(lista):
    """Procedimiento que modifica la lista original"""
    for i in range(len(lista)):
        lista[i] *= 2

# Uso
mi_lista = [1, 2, 3]
duplicar_elementos(mi_lista)
print(mi_lista)  # Output: [2, 4, 6]

4. Función que crea nueva lista

python
def duplicar_lista(lista):
    """Función que retorna una nueva lista"""
    return [x * 2 for x in lista]

# Uso
original = [1, 2, 3]
nueva = duplicar_lista(original)
print(original)  # Output: [1, 2, 3] (no se modifica)
print(nueva)     # Output: [2, 4, 6]

5. Ejemplo mixto (técnicamente función)

python
def es_par(numero):
    """Función que retorna True o False"""
    if numero % 2 == 0:
        return True
    else:
        return False

# Uso
print(es_par(4))  # Output: True
print(es_par(7))  # Output: False

💡 Puntos importantes

  1. En Python, técnicamente todo es función porque siempre retornan algo (aunque sea None)

  2. La distinción es conceptual: llamamos "procedimientos" a las funciones que no retornan valores útiles

  3. print() vs return:

    • print() muestra en pantalla

    • return devuelve un valor para usar después

python
# MAL: Confundir print con return
def calcular_iva(precio):
    print(precio * 0.21)  # Solo imprime, no retorna

# BIEN: Retornar el valor
def calcular_iva(precio):
    return precio * 0.21

# Así podemos usar el resultado
total = 100 + calcular_iva(100)

Conclusión: Usa funciones cuando necesites un resultado para seguir trabajando, y procedimientos cuando solo necesites ejecutar una acción sin obtener un valor de retorno

Comentarios

Entradas populares de este blog

¿Qué es un Closure?

4 tipos de colecciones de datos más

Calculadora de edad