Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Combinazione di Argomenti Arbitrari Posizionali e Keyword | Argomenti Arbitrari
Tutorial Sulle Funzioni in Python

bookCombinazione di Argomenti Arbitrari Posizionali e Keyword

Considera una funzione che calcola il costo totale di più articoli consentendo di passare un numero qualsiasi di prezzi e impostazioni opzionali tramite parole chiave, come sconti o tasse.

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

Regole per la combinazione di argomenti arbitrari

Argomenti arbitrari posizionali (*args)

*args raccoglie tutti gli argomenti posizionali extra in una tupla. In questo esempio, la funzione può accettare un numero qualsiasi di prezzi degli articoli senza doverli definire esplicitamente.

Ad esempio:

calculate_total_cost(500, 250, 100)

Qui, *prices diventa (500, 250, 100).

Argomenti Arbitrari per Parola Chiave (**kwargs)

**kwargs raccoglie tutti gli argomenti nominati (per parola chiave) in un dizionario. Questo permette alla funzione di accettare impostazioni aggiuntive nominate come discount o tax, anche se non erano state predefinite.

Ad esempio:

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

Qui, **settings diventa {'discount': 10, 'tax': 5}.

Combinazione di Entrambi

È possibile utilizzare sia *args che **kwargs nella stessa funzione per ottenere la massima flessibilità — consentendo di gestire qualsiasi numero di valori posizionali e qualsiasi combinazione di impostazioni nominate.

question mark

Qual è la combinazione di argomenti arbitrari posizionali e per parola chiave nelle funzioni?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain how the function handles both discounts and taxes together?

What happens if I don't provide any keyword arguments?

Can you show more examples of calling this function with different arguments?

Awesome!

Completion rate improved to 4.17

bookCombinazione di Argomenti Arbitrari Posizionali e Keyword

Scorri per mostrare il menu

Considera una funzione che calcola il costo totale di più articoli consentendo di passare un numero qualsiasi di prezzi e impostazioni opzionali tramite parole chiave, come sconti o tasse.

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

Regole per la combinazione di argomenti arbitrari

Argomenti arbitrari posizionali (*args)

*args raccoglie tutti gli argomenti posizionali extra in una tupla. In questo esempio, la funzione può accettare un numero qualsiasi di prezzi degli articoli senza doverli definire esplicitamente.

Ad esempio:

calculate_total_cost(500, 250, 100)

Qui, *prices diventa (500, 250, 100).

Argomenti Arbitrari per Parola Chiave (**kwargs)

**kwargs raccoglie tutti gli argomenti nominati (per parola chiave) in un dizionario. Questo permette alla funzione di accettare impostazioni aggiuntive nominate come discount o tax, anche se non erano state predefinite.

Ad esempio:

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

Qui, **settings diventa {'discount': 10, 'tax': 5}.

Combinazione di Entrambi

È possibile utilizzare sia *args che **kwargs nella stessa funzione per ottenere la massima flessibilità — consentendo di gestire qualsiasi numero di valori posizionali e qualsiasi combinazione di impostazioni nominate.

question mark

Qual è la combinazione di argomenti arbitrari posizionali e per parola chiave nelle funzioni?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3
some-alt