Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Combinación de Argumentos Arbitrarios Posicionales y de Palabras Clave | Argumentos Arbitrarios
Tutorial de Funciones en Python

bookCombinación de Argumentos Arbitrarios Posicionales y de Palabras Clave

Considere una función que calcula el costo total de múltiples artículos, permitiendo pasar cualquier cantidad de precios y configuraciones opcionales mediante palabras clave, como descuentos o impuestos.

12345678910111213141516171819202122232425
def calculate_total_cost(*prices, **settings): subtotal = sum(prices) discount = settings.get("discount", 0) tax = settings.get("tax", 0) discount_amount = subtotal * (discount / 100) taxed_amount = (subtotal - discount_amount) * (1 + tax / 100) print(f"Subtotal: ${subtotal:.2f}") if discount > 0: print(f"Discount: {discount}% (-${discount_amount:.2f})") else: print("No discount applied.") if tax > 0: print(f"Tax: {tax}% (+${taxed_amount - (subtotal - discount_amount):.2f})") print(f"Final total: ${taxed_amount:.2f}") print() # Examples of using the function calculate_total_cost(1000, 250, 50) calculate_total_cost(1200, 800, discount=10) calculate_total_cost(500, 750, 250, discount=5, tax=8)
copy

Reglas para combinar argumentos arbitrarios

Argumentos arbitrarios posicionales (*args)

*args recopila todos los argumentos posicionales adicionales en una tupla. En este ejemplo, la función puede recibir cualquier cantidad de precios de artículos sin necesidad de definirlos explícitamente.

Por ejemplo:

calculate_total_cost(500, 250, 100)

Aquí, *prices se convierte en (500, 250, 100).

Argumentos arbitrarios por palabra clave (**kwargs)

**kwargs recopila todos los argumentos nombrados (por palabra clave) en un diccionario. Esto permite que la función acepte configuraciones adicionales nombradas como discount o tax, incluso si no fueron predefinidas.

Por ejemplo:

calculate_total_cost(1000, 500, discount=10, tax=5)

Aquí, **settings se convierte en {'discount': 10, 'tax': 5}.

Combinando ambos

Puedes usar tanto *args como **kwargs en la misma función para lograr máxima flexibilidad — permitiendo manejar cualquier cantidad de valores posicionales y cualquier combinación de configuraciones nombradas.

question mark

¿Cuál es la combinación de argumentos arbitrarios posicionales y por palabra clave en las funciones?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

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

Awesome!

Completion rate improved to 4.17

bookCombinación de Argumentos Arbitrarios Posicionales y de Palabras Clave

Desliza para mostrar el menú

Considere una función que calcula el costo total de múltiples artículos, permitiendo pasar cualquier cantidad de precios y configuraciones opcionales mediante palabras clave, como descuentos o impuestos.

12345678910111213141516171819202122232425
def calculate_total_cost(*prices, **settings): subtotal = sum(prices) discount = settings.get("discount", 0) tax = settings.get("tax", 0) discount_amount = subtotal * (discount / 100) taxed_amount = (subtotal - discount_amount) * (1 + tax / 100) print(f"Subtotal: ${subtotal:.2f}") if discount > 0: print(f"Discount: {discount}% (-${discount_amount:.2f})") else: print("No discount applied.") if tax > 0: print(f"Tax: {tax}% (+${taxed_amount - (subtotal - discount_amount):.2f})") print(f"Final total: ${taxed_amount:.2f}") print() # Examples of using the function calculate_total_cost(1000, 250, 50) calculate_total_cost(1200, 800, discount=10) calculate_total_cost(500, 750, 250, discount=5, tax=8)
copy

Reglas para combinar argumentos arbitrarios

Argumentos arbitrarios posicionales (*args)

*args recopila todos los argumentos posicionales adicionales en una tupla. En este ejemplo, la función puede recibir cualquier cantidad de precios de artículos sin necesidad de definirlos explícitamente.

Por ejemplo:

calculate_total_cost(500, 250, 100)

Aquí, *prices se convierte en (500, 250, 100).

Argumentos arbitrarios por palabra clave (**kwargs)

**kwargs recopila todos los argumentos nombrados (por palabra clave) en un diccionario. Esto permite que la función acepte configuraciones adicionales nombradas como discount o tax, incluso si no fueron predefinidas.

Por ejemplo:

calculate_total_cost(1000, 500, discount=10, tax=5)

Aquí, **settings se convierte en {'discount': 10, 'tax': 5}.

Combinando ambos

Puedes usar tanto *args como **kwargs en la misma función para lograr máxima flexibilidad — permitiendo manejar cualquier cantidad de valores posicionales y cualquier combinación de configuraciones nombradas.

question mark

¿Cuál es la combinación de argumentos arbitrarios posicionales y por palabra clave en las funciones?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3
some-alt