Al trabajar con funciones en Python, algunas de ellas definen argumentos opcionales. Es decir, un argumento que puede ser enviado o no, y si no es enviado entonces se toma un valor por defecto.
En este post de programación en Python te enseñaré cómo definir argumentos opcionales para tus métodos en Python, ya sean funciones globales o de una clase (aunque recuerda que para los métodos de clase, el primer argumento siempre debe ser self
).
Cuando definimos una función con parámetros opcionales debemos definir el valor por defecto de cada uno de ellos. Por ejemplo:
def función(parámetro_obligatorio, otro_parámetro_obligatorio, parámetro_opcional=valor_por_defecto)
De este modo, el invocador puede no enviar los argumentos y no habrá problema porque siempre habrá un valor por defecto por cada argumento opcional. Esto es como si todos los argumentos estuvieran presentes.
En los ejemplos se nota de mejor manera.
Veamos la siguiente función que tiene un parámetro obligatorio y dos opcionales:
def saludar(nombre, edad=23, altura=2.2):
print(f"Hola {nombre}. Tienes {edad} años y una altura de {altura}")
En este caso podemos enviar 1, 2 o 3 argumentos al llamar a la función. Los parámetros opcionales son de tipo numérico, pero si fueran cadenas o de otro tipo igualmente podríamos definir el valor por default.
Y para invocar al método de Python podemos hacer lo siguiente:
# Pasamos solo el argumento obligatorio
saludar("Parzibyte")
# Pasamos los dos primeros
saludar("Parzibyte", 50)
# Pasamos todos
saludar("Luis", 60, 0.5)
Por cierto, al definir la función debes colocar primero los argumentos obligatorios y después los argumentos opcionales.
Ya para terminar veamos la misma función en donde todos los argumentos son opcionales:
def saludar(nombre="Parzibyte", edad=23, altura=2.2):
print(f"Hola {nombre}. Tienes {edad} años y una altura de {altura}")
En este caso podemos invocar a la función sin pasarle argumentos. Para terminar el post, te recomiendo leer también sobre los *args y **kwargs, o ver más posts sobre Python.
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.