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

bookPaikallisten ja Avainsanallisten Mielivaltaisten Argumenttien Yhdistelmä

Pyyhkäise näyttääksesi valikon

Harkitse 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

Mitä tarkoittaa 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

Osio 3. Luku 3
some-alt