Kombination av positionella och valfria argument
Tänk på en funktion utformad för att beräkna den totala kostnaden för smartphones, där du kan ange olika attribut både vid initiering och vid funktionsanrop.
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)
Regler för att ange argument
Positionella argument
Positionella argument måste anges i den ordning de definieras i funktionsdeklarationen. Till exempel är calculate_smartphone_cost
och model
obligatoriska positionella argument i funktionen price
.
Valfria (namngivna) argument
Valfria argument kan anges antingen positionellt eller med namngivna parametrar. I exemplet är quantity
och discount
valfria argument med standardvärden som kan ändras med namngivna parametrar vid funktionsanrop.
Standardvärden
Om ett valfritt argument inte anges vid funktionsanrop används dess standardvärde. Till exempel, i funktionen calculate_smartphone_cost
, om quantity
och discount
inte anges, får de automatiskt värdena 1 respektive 0.
Namngivna parametrar
Namngivna parametrar möjliggör exakt angivelse av värden för valfria argument och bestämmer deras ordning. Detta förbättrar kodens tydlighet och läsbarhet, särskilt när flera valfria parametrar används.
Detta exempel och reglerna för att ange argument visar hur en kombination av positionella och namngivna (valfria) argument kan användas effektivt för att skapa funktioner som erbjuder flexibilitet och användarvänlighet, samtidigt som kodens tydlighet och förväntat beteende bibehålls.
1. Vad är kombinationen av positionella och valfria argument i funktioner?
2. Hur definierar du en funktion med positionella argument följt av valfria argument?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain the difference between positional and named arguments with more examples?
How does the function handle missing optional arguments?
Can you show how to add more optional parameters to this function?
Awesome!
Completion rate improved to 4.35
Kombination av positionella och valfria argument
Svep för att visa menyn
Tänk på en funktion utformad för att beräkna den totala kostnaden för smartphones, där du kan ange olika attribut både vid initiering och vid funktionsanrop.
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)
Regler för att ange argument
Positionella argument
Positionella argument måste anges i den ordning de definieras i funktionsdeklarationen. Till exempel är calculate_smartphone_cost
och model
obligatoriska positionella argument i funktionen price
.
Valfria (namngivna) argument
Valfria argument kan anges antingen positionellt eller med namngivna parametrar. I exemplet är quantity
och discount
valfria argument med standardvärden som kan ändras med namngivna parametrar vid funktionsanrop.
Standardvärden
Om ett valfritt argument inte anges vid funktionsanrop används dess standardvärde. Till exempel, i funktionen calculate_smartphone_cost
, om quantity
och discount
inte anges, får de automatiskt värdena 1 respektive 0.
Namngivna parametrar
Namngivna parametrar möjliggör exakt angivelse av värden för valfria argument och bestämmer deras ordning. Detta förbättrar kodens tydlighet och läsbarhet, särskilt när flera valfria parametrar används.
Detta exempel och reglerna för att ange argument visar hur en kombination av positionella och namngivna (valfria) argument kan användas effektivt för att skapa funktioner som erbjuder flexibilitet och användarvänlighet, samtidigt som kodens tydlighet och förväntat beteende bibehålls.
1. Vad är kombinationen av positionella och valfria argument i funktioner?
2. Hur definierar du en funktion med positionella argument följt av valfria argument?
Tack för dina kommentarer!