Paikallisten ja valinnaisten argumenttien yhdistelmä
Pyyhkäise näyttääksesi valikon
Esimerkki funktiosta, joka laskee älypuhelimien kokonaiskustannuksen ja mahdollistaa eri ominaisuuksien määrittelyn sekä alustuksessa että funktion kutsussa.
123456789101112131415161718192021222324def calculate_smartphone_cost(model, price, quantity=1, discount=0): total_cost = price * quantity discount_amount = total_cost * (discount / 100) discounted_cost = total_cost - discount_amount print(f"Model: {model}") print(f"Unit price: ${price}") print(f"Quantity: {quantity}") print(f"Total cost before discount: ${total_cost}") if discount > 0: print(f"Discount: {discount}%") print(f"Discount amount: ${discount_amount}") print(f"Discounted cost: ${discounted_cost}") else: print("No discount applied.") print(f"Final cost: ${discounted_cost}") print() # Examples of using the function calculate_smartphone_cost("iPhone 13", 1099, 2) calculate_smartphone_cost("Samsung Galaxy S21", 999, 1, 10) calculate_smartphone_cost("Google Pixel 6", 799, quantity=3, discount=5)
Sääntöjä argumenttien määrittelyyn
Paikalliset argumentit
Paikallisten argumenttien järjestyksen tulee noudattaa funktion määrittelyä. calculate_smartphone_cost-funktiossa model ja price ovat pakollisia paikallisia argumentteja.
Valinnaiset (nimetyt) argumentit
Valinnaiset argumentit voidaan antaa joko paikallisesti tai nimen perusteella. quantity ja discount sisältävät oletusarvot, joita voidaan muuttaa nimettyjen parametrien avulla.
Oletusarvot
Jos valinnainen argumentti jätetään pois, käytetään sen oletusarvoa. Esimerkissä quantity oletusarvo on 1 ja discount oletusarvo on 0.
Nimetyt parametrit
Nimetyt parametrit parantavat selkeyttä määrittämällä arvot yksiselitteisesti, erityisesti kun käytössä on useita valinnaisia argumentteja.
Nämä säännöt osoittavat, kuinka paikallisten ja nimettyjen argumenttien yhdistäminen tekee funktioista joustavia ja helposti luettavia.
1. Mitä tarkoittaa yhdistelmä paikallisia ja valinnaisia argumentteja funktioissa?
2. Miten määritellään funktio, jossa on ensin paikallisia argumentteja ja sitten valinnaisia argumentteja?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme