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

Stryg for at vise menuen

book
Ændring af Funktioner

I programmering er funktioner dynamiske værktøjer, der kan tilpasse sig forskellige situationer og behov. De er ikke bare faste kodeblokke. Du kan forbedre funktioner for at gøre dem mere alsidige og brugervenlige i forskellige sammenhænge.

I dette kapitel vil vi udforske nogle vigtige teknikker til at modificere funktioner, såsom at bruge standardargumenter og nøgleordsargumenter.

Lad os starte med et ligetil eksempel på modificering af funktioner for at forbedre deres anvendelighed i vores dagligvarebutikstyringssystem:

Standardargumenter

Standardargumenter er en nyttig funktion i Python, der giver dig mulighed for at angive standardværdier for funktionsparametre.

I apply_discount()-funktionen er discount-parameteren som standard sat til 0.10. Dette betyder, at funktionen automatisk vil anvende en 10% rabat, medmindre andet er angivet. Som det ses i default_discount_price-variablen, kan vi kalde funktionen med kun price-parameteren.

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

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øgleordargumenter

Nøgleordargumenter i Python giver dig mulighed for at videregive argumenter ved eksplicit at navngive hver parameter, hvilket gør dine funktionskald mere læsbare og fleksible. Dette er særligt nyttigt, når en funktion har flere parametre, eller når rækkefølgen af argumenter kan være forvirrende.

I det følgende eksempel er både price og discount specificeret, mens tax-parameteren 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

Bemærk

Rækkefølgen af parametre er ligegyldig, når de gives ved hjælp af nøgleordargumenter.

Opgave

Swipe to start coding

Opret funktioner til at beregne de samlede omkostninger for et produkt ved at anvende en rabat og skat, ved hjælp af nøgleordargumenter og standardværdier for fleksibilitet.

  • Definer apply_discount(price, discount=0.05)
    → Returnerer prisen efter anvendelse af rabatten.
  • Definer apply_tax(price, tax=0.07)
    → Returnerer prisen efter tilføjelse af skatten.
  • Definer calculate_total(price, discount=0.05, tax=0.07)
    → Bruger apply_discount() og apply_tax() til at returnere den samlede pris med både rabat og skat anvendt.
  • Kald calculate_total(120) ved hjælp af standardrabat og skat.
  • Kald calculate_total(100, discount=0.10, tax=0.08) ved hjælp af brugerdefinerede værdier via nøgleordargumenter.

Outputkrav

  • Udskriv resultatet med standardværdier:
    Totalomkostninger med standardrabat og skat: $<total_price_default>
  • Udskriv resultatet med brugerdefinerede værdier:
    Totalomkostninger med brugerdefineret rabat og skat: $<total_price_custom>

Bemærk

Når du definerer funktioner, skal du placere nødvendige parametre først, efterfulgt af parametre med standardværdier.

Når du kalder funktioner med nøgleordargumenter, skal positionelle argumenter komme før nøgleordargumenter.

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

Spørg AI

expand
ChatGPT

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

book
Ændring af Funktioner

I programmering er funktioner dynamiske værktøjer, der kan tilpasse sig forskellige situationer og behov. De er ikke bare faste kodeblokke. Du kan forbedre funktioner for at gøre dem mere alsidige og brugervenlige i forskellige sammenhænge.

I dette kapitel vil vi udforske nogle vigtige teknikker til at modificere funktioner, såsom at bruge standardargumenter og nøgleordsargumenter.

Lad os starte med et ligetil eksempel på modificering af funktioner for at forbedre deres anvendelighed i vores dagligvarebutikstyringssystem:

Standardargumenter

Standardargumenter er en nyttig funktion i Python, der giver dig mulighed for at angive standardværdier for funktionsparametre.

I apply_discount()-funktionen er discount-parameteren som standard sat til 0.10. Dette betyder, at funktionen automatisk vil anvende en 10% rabat, medmindre andet er angivet. Som det ses i default_discount_price-variablen, kan vi kalde funktionen med kun price-parameteren.

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

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øgleordargumenter

Nøgleordargumenter i Python giver dig mulighed for at videregive argumenter ved eksplicit at navngive hver parameter, hvilket gør dine funktionskald mere læsbare og fleksible. Dette er særligt nyttigt, når en funktion har flere parametre, eller når rækkefølgen af argumenter kan være forvirrende.

I det følgende eksempel er både price og discount specificeret, mens tax-parameteren 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

Bemærk

Rækkefølgen af parametre er ligegyldig, når de gives ved hjælp af nøgleordargumenter.

Opgave

Swipe to start coding

Opret funktioner til at beregne de samlede omkostninger for et produkt ved at anvende en rabat og skat, ved hjælp af nøgleordargumenter og standardværdier for fleksibilitet.

  • Definer apply_discount(price, discount=0.05)
    → Returnerer prisen efter anvendelse af rabatten.
  • Definer apply_tax(price, tax=0.07)
    → Returnerer prisen efter tilføjelse af skatten.
  • Definer calculate_total(price, discount=0.05, tax=0.07)
    → Bruger apply_discount() og apply_tax() til at returnere den samlede pris med både rabat og skat anvendt.
  • Kald calculate_total(120) ved hjælp af standardrabat og skat.
  • Kald calculate_total(100, discount=0.10, tax=0.08) ved hjælp af brugerdefinerede værdier via nøgleordargumenter.

Outputkrav

  • Udskriv resultatet med standardværdier:
    Totalomkostninger med standardrabat og skat: $<total_price_default>
  • Udskriv resultatet med brugerdefinerede værdier:
    Totalomkostninger med brugerdefineret rabat og skat: $<total_price_custom>

Bemærk

Når du definerer funktioner, skal du placere nødvendige parametre først, efterfulgt af parametre med standardværdier.

Når du kalder funktioner med nøgleordargumenter, skal positionelle argumenter komme før nøgleordargumenter.

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
Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Vi beklager, at noget gik galt. Hvad skete der?
some-alt