C# (C Sharp)

Python: función con argumentos opcionales

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).

Argumentos opcionales

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.

Ejemplo de función

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

3 días hace

Esta web usa cookies.