- ¿Cómo funcionan los valores predeterminados?
- Valores predeterminados en funciones más simples
- Múltiples parámetros con valores predeterminados
- Restricciones de los parámetros con valores predeterminados
- Funciones con número variable de parámetros
Cuando trabajamos con funciones en programación, a veces algunos parámetros tienen valores que rara vez cambian. Para evitar escribir código repetitivo, podemos asignarles un valor predeterminado. Esto significa que, si el usuario no proporciona un valor para ese parámetro, la función usará el valor que definimos por defecto.
¿Cómo funcionan los valores predeterminados?
🚗 Imagina que llevas tu carro al taller, pero no tienes las piezas de repuesto necesarias. En ese caso, el mecánico te ofrecerá instalar las piezas estándar que tiene en el taller. Si prefieres otra opción, puedes llevar tus propias piezas. Así es como funcionan los valores predeterminados en programación.
⏬ Veamos un ejemplo:
# Función de potenciación
# El segundo parámetro tiene un valor predeterminado de 2
def pow(x, base=2):
return x ** base
# Tres al cuadrado (ya que base=2 por defecto)
print(pow(3)) # Salida: 9
# Tres al cubo (pasando un valor diferente para base)
print(pow(3, 3)) # Salida: 27
¿Qué está ocurriendo?
- Caso sin valor opcional: Llamamos
pow(3), y como no proporcionamos un valor parabase, se usa el valor predeterminado2. Así, la operación es3 ** 2 = 9. - Caso con valor cambiado: Llamamos
pow(3, 3), entonces base toma el valor3, y ahora la operación es3 ** 3 = 27.
Valores predeterminados en funciones más simples
Incluso una función con un solo parámetro puede tener un valor predeterminado. Veamos un ejemplo:
def my_print(text='nada'):
print(text)
my_print() # Salida: nada
my_print("Hola") # Salida: Hola
Aquí, si no pasamos un argumento, la función usará "nada" como valor por defecto.
Múltiples parámetros con valores predeterminados
Podemos definir varios parámetros con valores predeterminados:
def print_params(a=5, b=10, c=100):
print(a, b, c)
print_params() # Salida: 5 10 100
print_params(20) # Salida: 20 10 100
print_params(20, 30) # Salida: 20 30 100
print_params(1, 2, 3) # Salida: 1 2 3
Aquí, si no pasamos valores, la función usa los definidos (5, 10, 100). Pero si pasamos uno o más, esos reemplazan los valores por defecto.
Restricciones de los parámetros con valores predeterminados
# Esto generaría un error
def print_params(a=5, b=10, c=100, x):
pass
Pero si los valores opcionales están al final, no hay problema:
# Esto es válido
def print_params(x, a=5, b=10, c=100):
pass
Funciones con número variable de parámetros
Algunas funciones pueden recibir una cantidad variable de parámetros sin necesidad de definir valores predeterminados. Por ejemplo, la función max() en Python puede aceptar cualquier cantidad de números y devolver el mayor.
print(max(1, 10, 3)) # Salida: 10
print(max(1, 3, 2, 3, 2)) # Salida: 3
Si consultamos la documentación oficial, vemos que su estructura es:
max(arg1, arg2, *args[, key])
Esto significa:
arg1yarg2son obligatorios.*argsindica que puede recibir más valores.
Si hay varios números con el mismo valor máximo, devolverá el primero encontrado.
Resumen
- Los valores predeterminados en funciones permiten reducir código repetitivo.
- Si no se proporciona un valor opcional, Python usa el valor predeterminado.
- Se pueden definir múltiples parámetros con valores predeterminados.
- Los parámetros con valores predeterminados deben estar al final de la lista de parámetros.
- Algunas funciones aceptan un número variable de parámetros, como
max().
Este conocimiento te ayudará a escribir código más claro y flexible. ¡Practica definiendo tus propias funciones con valores predeterminados!
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.