Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Kombination av positionella och valfria argument | Godtyckliga Argument
Handledning om Pythonfunktioner

bookKombination 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.

123456789101112131415161718192021222324
def 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)
copy

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?

question mark

Vad är kombinationen av positionella och valfria argument i funktioner?

Select the correct answer

question mark

Hur definierar du en funktion med positionella argument följt av valfria argument?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

bookKombination 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.

123456789101112131415161718192021222324
def 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)
copy

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?

question mark

Vad är kombinationen av positionella och valfria argument i funktioner?

Select the correct answer

question mark

Hur definierar du en funktion med positionella argument följt av valfria argument?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3
some-alt