Aprende Python · lección gratuita

Lección 18 · Definir funciones: def y return

Resumen

Una función es un bloque de código con nombre que agrupa una tarea para poder reutilizarla cuantas veces quieras. En lugar de copiar y pegar las mismas instrucciones, las defines una sola vez y las "llamas" por su nombre. Esto hace tu código más corto, más claro y más fácil de mantener.

Conceptos

Hasta ahora ejecutabas instrucciones una tras otra. Con def empaquetas instrucciones bajo un nombre. La definición no ejecuta nada por sí sola: solo "enseña" a Python qué hacer cuando la llames. La ejecución ocurre cuando escribes el nombre seguido de paréntesis.

Los parámetros son variables que recibe la función entre paréntesis. Cuando la llamas, pasas argumentos (los valores reales) en ese mismo orden. Dentro del cuerpo usas esos parámetros como variables normales.

def area_rectangulo(base, altura):
    resultado = base * altura
    return resultado

print(area_rectangulo(4, 3))   # 12

La palabra return hace dos cosas: termina la función inmediatamente y entrega un valor a quien la llamó. Ese valor puedes guardarlo en una variable, imprimirlo o usarlo en otra operación. Si una función no tiene return, devuelve None (ausencia de valor). No confundas return con print: print solo muestra texto en pantalla; return entrega un dato que el programa puede seguir usando.

def doble(n):
    return n * 2

x = doble(10)        # x vale 20
print(x + 5)         # 25

Ejemplos

# 1. Función sin parámetros que devuelve un texto fijo
def saludo():
    return "Hola, mundo"

print(saludo())              # Hola, mundo

# 2. Función con un parámetro
def cuadrado(n):
    return n * n

print(cuadrado(5))           # 25

# 3. Función con dos parámetros
def suma(a, b):
    return a + b

print(suma(7, 8))            # 15

# 4. Guardar el resultado en una variable y reutilizarlo
def precio_con_iva(precio):
    return precio * 1.18

total = precio_con_iva(100)
print(total)                 # 118.0
💡 Usa return, no print, dentro de tus funciones cuando quieras seguir usando el resultado. Una función que devuelve el valor es mucho más flexible: luego decides si lo imprimes, lo sumas o lo guardas.

Cheatsheet

SintaxisSignificadoEjemplo
def nombre():Define una función sin parámetrosdef hola():
def nombre(a, b):Define una función con parámetrosdef suma(a, b):
return valorDevuelve un valor y termina la funciónreturn a + b
nombre()Llama (ejecuta) la funciónhola()
nombre(2, 3)Llama pasando argumentossuma(2, 3)
x = nombre(...)Guarda el valor devueltox = suma(2, 3)
(sin return)La función devuelve None

---

← ComprehensionsArgumentos de funciones →

Ver todas las lecciones de Aprende Python →