Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Parámetros opcionales de las funciones Funciones y lógica en Python

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.

Parameters

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?

  1. Caso sin valor opcional: Llamamos pow(3), y como no proporcionamos un valor para base, se usa el valor predeterminado 2. Así, la operación es 3 ** 2 = 9.
  2. Caso con valor cambiado: Llamamos pow(3, 3), entonces base toma el valor 3, y ahora la operación es 3 ** 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

Los parámetros con valor predeterminado siempre deben estar al final de la lista de parámetros. Python no permite definir primero un valor opcional y luego un obligatorio.
# 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:

  • arg1 y arg2 son obligatorios.
  • *args indica 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.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY