Cuando tienes código que necesitas usar varias veces, o cuando quieres darle un nombre a una tarea específica, usas funciones. Son la herramienta más importante de cualquier lenguaje de programación.
¿Qué es una función?
Una función es un bloque de código con nombre que puedes ejecutar cuando lo necesites. Se define una vez y se puede llamar múltiples veces desde cualquier parte del programa.
Sintaxis
def nombre_de_la_funcion(parametros):
# código a ejecutar
return resultado
def— palabra clave para definir una función- Los dos puntos
:y la indentación son obligatorios returndevuelve un valor (opcional)
Ejemplo 1: función simple
def saludar():
print("Hola, bienvenido")
saludar() # Hola, bienvenido
saludar() # Hola, bienvenido
Ejemplo 2: función con parámetros y return
def sumar(a, b):
return a + b
resultado = sumar(3, 5)
print(resultado) # 8
print(sumar(10, 20)) # 30
Los parámetros son variables que reciben valores cuando llamas la función.
Ejemplo 3: función con lógica real
def calcular_descuento(precio, porcentaje):
descuento = precio * (porcentaje / 100)
precio_final = precio - descuento
return precio_final
print(calcular_descuento(10000, 20)) # 8000.0
print(calcular_descuento(5000, 10)) # 4500.0
Parámetros con valor por defecto
def saludar(nombre, idioma="español"):
if idioma == "español":
print(f"Hola, {nombre}")
else:
print(f"Hello, {nombre}")
saludar("Ana") # Hola, Ana
saludar("Carlos", "inglés") # Hello, Carlos
Si no pasas el argumento idioma, usa el valor por defecto.
Retornar múltiples valores
Python permite retornar más de un valor a la vez:
def min_max(numeros):
return min(numeros), max(numeros)
minimo, maximo = min_max([5, 2, 8, 1, 9])
print(minimo) # 1
print(maximo) # 9
Errores frecuentes
Olvidar los paréntesis al llamar la función: saludar sin paréntesis no ejecuta la función, solo la referencia. Debes escribir saludar().
Usar la variable de retorno antes del return: Si la función debe devolver un valor pero olvidaste el return, devuelve None. Asegúrate de que el return esté en el lugar correcto.
Definir la función después de usarla: En Python, debes definir la función antes de llamarla. A diferencia de JavaScript, no hay hoisting.
Aprende haciendo, no solo leyendo
Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de Python y recibes corrección inmediata de IA.
Comenzar gratis →