Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Argumentos Arbitrarios | Argumentos Arbitrarios
Tutorial de Funciones en Python

bookArgumentos Arbitrarios

Ya hemos explorado los argumentos posicionales y opcionales de las funciones. Sin embargo, ¿qué hacer cuando hay numerosos argumentos o cuando no estamos seguros de todos los argumentos que se deben pasar a una función? Este problema puede resolverse utilizando argumentos arbitrarios (argumentos de longitud variable). Estos argumentos permiten que una función acepte una cantidad indefinida de argumentos. Esto es especialmente útil cuando se desea definir una función que pueda recibir un número variable de valores de entrada sin especificar de antemano la cantidad exacta de argumentos.

Note
Nota

Recuerde que cada argumento puede ser una estructura de datos, como una lista o un diccionario. Puede pasar una cantidad arbitraria de estas estructuras utilizando argumentos arbitrarios.

En Python, puede definir argumentos arbitrarios como un solo argumento posicional colocando un asterisco * antes del nombre del argumento. Aquí hay un ejemplo:

12345678
# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

En el código anterior, utilizamos * para declarar que la variable values contiene varios argumentos arbitrarios y se interpreta como una tupla. Luego, usamos la función incorporada sum para calcular la suma. Podemos observar que el resultado es correcto para todos los ejemplos y no es necesario especificar directamente la cantidad de argumentos. Nota que este argumento se utiliza por nombre sin * dentro del cuerpo de la función.

Note
Nota

Para definir una tupla de argumentos arbitrarios, basta con usar * antes del nombre del argumento. Sin embargo, se recomienda emplear la construcción *args. Esto mejora la interpretabilidad y legibilidad del código.

123456789101112131415161718
def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Como puedes observar en los resultados:

  • Cuando la función se llama sin argumentos, args será una tupla vacía ().
  • Cuando la función se llama con un argumento, args será una tupla con un solo elemento (1,).
  • Cuando la función se llama con múltiples argumentos, todos ellos se almacenan en la tupla, por ejemplo (1, 2, 3, 'hello', [4, 5, 6]).

Con *args, puedes trabajar con los valores igual que lo harías con cualquier otra tupla en Python.

Tarea

Swipe to start coding

Implementar una función calculate_total que calcule el precio total de los artículos en un carrito, aplicando descuentos basados en el monto total.

  1. Utilizar argumentos arbitrarios llamados prices en la función calculate_total.
  2. Si no se proporcionan argumentos, devolver "Your cart is empty.".
  3. Aplicar un descuento del 20% si el total es $200 o más.
  4. Aplicar un descuento del 10% si el total es $100 o más.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 1
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

Awesome!

Completion rate improved to 4.35

bookArgumentos Arbitrarios

Desliza para mostrar el menú

Ya hemos explorado los argumentos posicionales y opcionales de las funciones. Sin embargo, ¿qué hacer cuando hay numerosos argumentos o cuando no estamos seguros de todos los argumentos que se deben pasar a una función? Este problema puede resolverse utilizando argumentos arbitrarios (argumentos de longitud variable). Estos argumentos permiten que una función acepte una cantidad indefinida de argumentos. Esto es especialmente útil cuando se desea definir una función que pueda recibir un número variable de valores de entrada sin especificar de antemano la cantidad exacta de argumentos.

Note
Nota

Recuerde que cada argumento puede ser una estructura de datos, como una lista o un diccionario. Puede pasar una cantidad arbitraria de estas estructuras utilizando argumentos arbitrarios.

En Python, puede definir argumentos arbitrarios como un solo argumento posicional colocando un asterisco * antes del nombre del argumento. Aquí hay un ejemplo:

12345678
# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

En el código anterior, utilizamos * para declarar que la variable values contiene varios argumentos arbitrarios y se interpreta como una tupla. Luego, usamos la función incorporada sum para calcular la suma. Podemos observar que el resultado es correcto para todos los ejemplos y no es necesario especificar directamente la cantidad de argumentos. Nota que este argumento se utiliza por nombre sin * dentro del cuerpo de la función.

Note
Nota

Para definir una tupla de argumentos arbitrarios, basta con usar * antes del nombre del argumento. Sin embargo, se recomienda emplear la construcción *args. Esto mejora la interpretabilidad y legibilidad del código.

123456789101112131415161718
def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Como puedes observar en los resultados:

  • Cuando la función se llama sin argumentos, args será una tupla vacía ().
  • Cuando la función se llama con un argumento, args será una tupla con un solo elemento (1,).
  • Cuando la función se llama con múltiples argumentos, todos ellos se almacenan en la tupla, por ejemplo (1, 2, 3, 'hello', [4, 5, 6]).

Con *args, puedes trabajar con los valores igual que lo harías con cualquier otra tupla en Python.

Tarea

Swipe to start coding

Implementar una función calculate_total que calcule el precio total de los artículos en un carrito, aplicando descuentos basados en el monto total.

  1. Utilizar argumentos arbitrarios llamados prices en la función calculate_total.
  2. Si no se proporcionan argumentos, devolver "Your cart is empty.".
  3. Aplicar un descuento del 20% si el total es $200 o más.
  4. Aplicar un descuento del 10% si el total es $100 o más.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 1
single

single

some-alt