Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Kombination af Positionelle og Navngivne Vilkårlige Argumenter | Vilkårlige Argumenter
Python Funktioner Vejledning

bookKombination af Positionelle og Navngivne Vilkårlige Argumenter

Overvej en funktion, der beregner den samlede pris for flere varer, hvor du kan angive et vilkårligt antal priser samt valgfrie nøgleord-indstillinger såsom rabatter eller skatter.

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

Regler for kombination af vilkårlige argumenter

Positionelle vilkårlige argumenter (*args)

*args samler alle ekstra positionelle argumenter i en tuple. I dette eksempel kan funktionen modtage et vilkårligt antal varepriser uden at skulle definere dem eksplicit.

For eksempel:

calculate_total_cost(500, 250, 100)

Her bliver *prices til (500, 250, 100).

Vilkårlige nøgleordsargumenter (**kwargs)

**kwargs samler alle navngivne (nøgleords-)argumenter i en ordbog. Dette gør det muligt for funktionen at acceptere yderligere navngivne indstillinger såsom discount eller tax, selvom de ikke var foruddefinerede.

For eksempel:

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

Her bliver **settings til {'discount': 10, 'tax': 5}.

Kombination af begge

Du kan bruge både *args og **kwargs i den samme funktion for at opnå maksimal fleksibilitet — så du kan håndtere et vilkårligt antal positionelle værdier og enhver kombination af navngivne indstillinger.

question mark

Hvad er kombinationen af positionelle og vilkårlige nøgleordsargumenter i funktioner?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookKombination af Positionelle og Navngivne Vilkårlige Argumenter

Stryg for at vise menuen

Overvej en funktion, der beregner den samlede pris for flere varer, hvor du kan angive et vilkårligt antal priser samt valgfrie nøgleord-indstillinger såsom rabatter eller skatter.

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

Regler for kombination af vilkårlige argumenter

Positionelle vilkårlige argumenter (*args)

*args samler alle ekstra positionelle argumenter i en tuple. I dette eksempel kan funktionen modtage et vilkårligt antal varepriser uden at skulle definere dem eksplicit.

For eksempel:

calculate_total_cost(500, 250, 100)

Her bliver *prices til (500, 250, 100).

Vilkårlige nøgleordsargumenter (**kwargs)

**kwargs samler alle navngivne (nøgleords-)argumenter i en ordbog. Dette gør det muligt for funktionen at acceptere yderligere navngivne indstillinger såsom discount eller tax, selvom de ikke var foruddefinerede.

For eksempel:

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

Her bliver **settings til {'discount': 10, 'tax': 5}.

Kombination af begge

Du kan bruge både *args og **kwargs i den samme funktion for at opnå maksimal fleksibilitet — så du kan håndtere et vilkårligt antal positionelle værdier og enhver kombination af navngivne indstillinger.

question mark

Hvad er kombinationen af positionelle og vilkårlige nøgleordsargumenter i funktioner?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
some-alt