Argumentos Posicionales Arbitrarios
Ya conoces los argumentos posicionales y opcionales. Pero cuando una función puede recibir muchas entradas o no las conoces de antemano, puedes utilizar argumentos posicionales arbitrarios. Estos permiten que una función acepte cualquier cantidad de valores.
Cada argumento puede ser cualquier estructura de datos (lista, diccionario, etc.). Los argumentos arbitrarios permiten pasar tantos objetos de este tipo como sea necesario.
Para definir argumentos posicionales arbitrarios, coloca un asterisco * antes del nombre del parámetro. Ejemplo:
12345678# Define function with arbitrary positional 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))
Aquí, *values recopila todos los argumentos posicionales pasados en una tupla. Dentro de la función, se utiliza el nombre de la variable sin *. El resultado es correcto sin importar cuántos argumentos se proporcionen.
Aunque cualquier nombre funciona, la forma común y legible es *args.
1234567891011121314def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Como se muestra:
- Sin argumentos →
argses(); - Un argumento →
(1,); - Varios argumentos → todos los valores aparecen en una tupla, por ejemplo,
(1, 2, 3, 'hello', [4, 5, 6]).
*args se comporta como cualquier otra tupla, proporcionando flexibilidad total al manejar múltiples entradas.
Swipe to start coding
Implementar una función calculate_total que calcule el precio total de los artículos en un carrito, aplicando descuentos según el monto total.
- Utilizar argumentos posicionales arbitrarios llamados prices en la función
calculate_total. - Si no se proporcionan argumentos, devolver
"Your cart is empty.". - Aplicar un descuento del 20% si el total es $200 o más.
- Aplicar un descuento del 10% si el total es $100 o más.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 4.17
Argumentos Posicionales Arbitrarios
Desliza para mostrar el menú
Ya conoces los argumentos posicionales y opcionales. Pero cuando una función puede recibir muchas entradas o no las conoces de antemano, puedes utilizar argumentos posicionales arbitrarios. Estos permiten que una función acepte cualquier cantidad de valores.
Cada argumento puede ser cualquier estructura de datos (lista, diccionario, etc.). Los argumentos arbitrarios permiten pasar tantos objetos de este tipo como sea necesario.
Para definir argumentos posicionales arbitrarios, coloca un asterisco * antes del nombre del parámetro. Ejemplo:
12345678# Define function with arbitrary positional 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))
Aquí, *values recopila todos los argumentos posicionales pasados en una tupla. Dentro de la función, se utiliza el nombre de la variable sin *. El resultado es correcto sin importar cuántos argumentos se proporcionen.
Aunque cualquier nombre funciona, la forma común y legible es *args.
1234567891011121314def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Como se muestra:
- Sin argumentos →
argses(); - Un argumento →
(1,); - Varios argumentos → todos los valores aparecen en una tupla, por ejemplo,
(1, 2, 3, 'hello', [4, 5, 6]).
*args se comporta como cualquier otra tupla, proporcionando flexibilidad total al manejar múltiples entradas.
Swipe to start coding
Implementar una función calculate_total que calcule el precio total de los artículos en un carrito, aplicando descuentos según el monto total.
- Utilizar argumentos posicionales arbitrarios llamados prices en la función
calculate_total. - Si no se proporcionan argumentos, devolver
"Your cart is empty.". - Aplicar un descuento del 20% si el total es $200 o más.
- Aplicar un descuento del 10% si el total es $100 o más.
Solución
¡Gracias por tus comentarios!
single