Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Paikallisten ja Avainsanojen Mielivaltaisten Argumenttien Yhdistelmä | Mielivaltaiset Argumentit
Python-Funktioiden Opas

bookPaikallisten ja Avainsanojen Mielivaltaisten Argumenttien Yhdistelmä

Tarkastellaan funktiota, joka laskee useiden tuotteiden kokonaiskustannuksen ja mahdollistaa minkä tahansa määrän hintoja sekä valinnaisia avainsana-asetuksia, kuten alennuksia tai veroja.

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

Säännöt mielivaltaisten argumenttien yhdistämiseen

Sijaintiin perustuvat mielivaltaiset argumentit (*args)

*args kerää kaikki ylimääräiset sijaintiin perustuvat argumentit tupleen. Tässä esimerkissä funktio voi ottaa minkä tahansa määrän tuotehintoja ilman, että niitä tarvitsee määritellä erikseen.

Esimerkiksi:

calculate_total_cost(500, 250, 100)

Tässä *prices on (500, 250, 100).

Avainsanalliset mielivaltaiset argumentit (**kwargs)

**kwargs kerää kaikki nimetyt (avainsana) argumentit sanakirjaan. Tämän ansiosta funktio voi ottaa vastaan ylimääräisiä nimettyjä asetuksia, kuten discount tai tax, vaikka niitä ei olisi ennalta määritelty.

Esimerkiksi:

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

Tässä **settings on {'discount': 10, 'tax': 5}.

Molempien yhdistäminen

Voit käyttää sekä *args että **kwargs samassa funktiossa saavuttaaksesi maksimaalisen joustavuuden — mahdollistaen minkä tahansa määrän sijoitusarvoja ja minkä tahansa yhdistelmän nimettyjä asetuksia.

question mark

Mikä on sijoitus- ja avainsanallisten mielivaltaisten argumenttien yhdistelmä funktioissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookPaikallisten ja Avainsanojen Mielivaltaisten Argumenttien Yhdistelmä

Pyyhkäise näyttääksesi valikon

Tarkastellaan funktiota, joka laskee useiden tuotteiden kokonaiskustannuksen ja mahdollistaa minkä tahansa määrän hintoja sekä valinnaisia avainsana-asetuksia, kuten alennuksia tai veroja.

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

Säännöt mielivaltaisten argumenttien yhdistämiseen

Sijaintiin perustuvat mielivaltaiset argumentit (*args)

*args kerää kaikki ylimääräiset sijaintiin perustuvat argumentit tupleen. Tässä esimerkissä funktio voi ottaa minkä tahansa määrän tuotehintoja ilman, että niitä tarvitsee määritellä erikseen.

Esimerkiksi:

calculate_total_cost(500, 250, 100)

Tässä *prices on (500, 250, 100).

Avainsanalliset mielivaltaiset argumentit (**kwargs)

**kwargs kerää kaikki nimetyt (avainsana) argumentit sanakirjaan. Tämän ansiosta funktio voi ottaa vastaan ylimääräisiä nimettyjä asetuksia, kuten discount tai tax, vaikka niitä ei olisi ennalta määritelty.

Esimerkiksi:

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

Tässä **settings on {'discount': 10, 'tax': 5}.

Molempien yhdistäminen

Voit käyttää sekä *args että **kwargs samassa funktiossa saavuttaaksesi maksimaalisen joustavuuden — mahdollistaen minkä tahansa määrän sijoitusarvoja ja minkä tahansa yhdistelmän nimettyjä asetuksia.

question mark

Mikä on sijoitus- ja avainsanallisten mielivaltaisten argumenttien yhdistelmä funktioissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
some-alt