Argumentos Posicionales Arbitrarios en Python
Ya conoces los argumentos posicionales y opcionales. Pero cuando una función puede recibir muchas entradas o no las conoces de antemano, puedes usar 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 independientemente de la cantidad de argumentos proporcionados.
Aunque cualquier nombre es válido, 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 basados en 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
Genial!
Completion tasa mejorada a 6.67
Argumentos Posicionales Arbitrarios en Python
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 usar 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 independientemente de la cantidad de argumentos proporcionados.
Aunque cualquier nombre es válido, 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 basados en 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