Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ændring af Funktioner | Funktioner
Introduktion til Python

bookÆndring af Funktioner

Funktioner er fleksible værktøjer i programmering. Du kan ændre og forbedre dem for at opfylde forskellige behov. I dette kapitel lærer du, hvordan du kan gøre funktioner mere anvendelige ved at bruge standardargumenter og nøgleordsargumenter.

Lad os se på et simpelt eksempel fra et supermarked for at illustrere, hvordan du kan tilpasse funktioner, så de bliver mere nyttige:

Standardargumenter

Standardargumenter er en nyttig funktion i Python, der gør det muligt at angive standardværdier for funktionsparametre.

I funktionen apply_discount() er parameteren discount som standard sat til 0.10. Det betyder, at funktionen automatisk anvender en 10% rabat, medmindre andet er angivet. Som vist i variablen default_discount_price kan vi kalde funktionen med kun parameteren price.

Hvis det er nødvendigt, kan vi dog overskrive standardværdien ved at angive både price og en brugerdefineret discount (f.eks. 0.20 for 20%) som demonstreret med variablen custom_discount_price.

123456789101112
# Define a function with a default `discount` argument def apply_discount(price, discount=0.10): discounted_price = price * (1 - discount) return discounted_price # Call the function without providing a `discount`, using the default value default_discount_price = apply_discount(100) print(f"Price after applying the default discount: ${default_discount_price}") # Call the function with a custom `discount` value custom_discount_price = apply_discount(100, 0.20) print(f"Price after applying a custom discount: ${custom_discount_price}")
copy

Nøgleord-argumenter

Nøgleord-argumenter i Python gør det muligt at overføre argumenter ved eksplicit at navngive hver parameter, hvilket gør dine funktionskald mere læsbare og fleksible. Dette er især nyttigt, når en funktion har flere parametre, eller når rækkefølgen af argumenter kan være forvirrende.

I følgende eksempel er både price og discount angivet, mens parameteren tax forbliver på sin standardværdi, hvilket giver fleksibilitet uden at gå på kompromis med klarheden.

12345678
# Function where `tax` has a default value def calculate_total(price, discount, tax=0.05): total = price * (1 + tax) * (1 - discount) return total # Calling the function using keyword arguments total_cost = calculate_total(price=100, discount=0.15) print(f"Total cost after applying discount: ${total_cost}")
copy
Note
Bemærk

Rækkefølgen af parametre er ikke vigtig, når de overføres ved hjælp af nøgleord-argumenter.

Opgave

Swipe to start coding

Opret et simpelt kassesystem for en dagligvarebutiksvare ved hjælp af standardværdier og nøgleordsargumenter.

  • Definer apply_discount(price, discount=0.10) → Returnerer prisen efter rabat (10% som standard).
  • Definer add_tax(price, tax=0.05) → Returnerer prisen efter moms er tilføjet (5% som standard).
  • Definer final_price(price, discount=0.10, tax=0.05) → Anvender først apply_discount(), derefter add_tax(), og returnerer det endelige resultat.

Kør derefter to eksempler:

  • Kald final_price(50) med standardværdierne.
  • Kald final_price(50, tax=0.08) med en brugerdefineret momssats via et nøgleordsargument.

Outputkrav

Udskriv præcis disse to linjer (afrundet til 2 decimaler):

  • Final price with default discount and tax: $<value>
  • Final price with custom tax: $<value>

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 6
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

bookÆndring af Funktioner

Stryg for at vise menuen

Funktioner er fleksible værktøjer i programmering. Du kan ændre og forbedre dem for at opfylde forskellige behov. I dette kapitel lærer du, hvordan du kan gøre funktioner mere anvendelige ved at bruge standardargumenter og nøgleordsargumenter.

Lad os se på et simpelt eksempel fra et supermarked for at illustrere, hvordan du kan tilpasse funktioner, så de bliver mere nyttige:

Standardargumenter

Standardargumenter er en nyttig funktion i Python, der gør det muligt at angive standardværdier for funktionsparametre.

I funktionen apply_discount() er parameteren discount som standard sat til 0.10. Det betyder, at funktionen automatisk anvender en 10% rabat, medmindre andet er angivet. Som vist i variablen default_discount_price kan vi kalde funktionen med kun parameteren price.

Hvis det er nødvendigt, kan vi dog overskrive standardværdien ved at angive både price og en brugerdefineret discount (f.eks. 0.20 for 20%) som demonstreret med variablen custom_discount_price.

123456789101112
# Define a function with a default `discount` argument def apply_discount(price, discount=0.10): discounted_price = price * (1 - discount) return discounted_price # Call the function without providing a `discount`, using the default value default_discount_price = apply_discount(100) print(f"Price after applying the default discount: ${default_discount_price}") # Call the function with a custom `discount` value custom_discount_price = apply_discount(100, 0.20) print(f"Price after applying a custom discount: ${custom_discount_price}")
copy

Nøgleord-argumenter

Nøgleord-argumenter i Python gør det muligt at overføre argumenter ved eksplicit at navngive hver parameter, hvilket gør dine funktionskald mere læsbare og fleksible. Dette er især nyttigt, når en funktion har flere parametre, eller når rækkefølgen af argumenter kan være forvirrende.

I følgende eksempel er både price og discount angivet, mens parameteren tax forbliver på sin standardværdi, hvilket giver fleksibilitet uden at gå på kompromis med klarheden.

12345678
# Function where `tax` has a default value def calculate_total(price, discount, tax=0.05): total = price * (1 + tax) * (1 - discount) return total # Calling the function using keyword arguments total_cost = calculate_total(price=100, discount=0.15) print(f"Total cost after applying discount: ${total_cost}")
copy
Note
Bemærk

Rækkefølgen af parametre er ikke vigtig, når de overføres ved hjælp af nøgleord-argumenter.

Opgave

Swipe to start coding

Opret et simpelt kassesystem for en dagligvarebutiksvare ved hjælp af standardværdier og nøgleordsargumenter.

  • Definer apply_discount(price, discount=0.10) → Returnerer prisen efter rabat (10% som standard).
  • Definer add_tax(price, tax=0.05) → Returnerer prisen efter moms er tilføjet (5% som standard).
  • Definer final_price(price, discount=0.10, tax=0.05) → Anvender først apply_discount(), derefter add_tax(), og returnerer det endelige resultat.

Kør derefter to eksempler:

  • Kald final_price(50) med standardværdierne.
  • Kald final_price(50, tax=0.08) med en brugerdefineret momssats via et nøgleordsargument.

Outputkrav

Udskriv præcis disse to linjer (afrundet til 2 decimaler):

  • Final price with default discount and tax: $<value>
  • Final price with custom tax: $<value>

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 6
single

single

some-alt