Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Modifisere Funksjoner | Funksjoner
Introduksjon til Python

Sveip for å vise menyen

book
Modifisere Funksjoner

I programmering er funksjoner dynamiske verktøy som kan tilpasse seg forskjellige situasjoner og behov. De er ikke bare faste kodeblokker. Du kan forbedre funksjoner for å gjøre dem mer allsidige og brukervennlige i ulike sammenhenger.

I dette kapittelet skal vi utforske noen viktige teknikker for å modifisere funksjoner, som å bruke standardargumenter og nøkkelordargumenter.

La oss starte med et enkelt eksempel på modifisering av funksjoner for å forbedre deres nytte i vårt dagligvarebutikkstyringssystem:

Standardargumenter

Standardargumenter er en nyttig funksjon i Python som lar deg spesifisere standardverdier for funksjonsparametere.

I apply_discount()-funksjonen er discount-parameteren satt til 0.10 som standard. Dette betyr at funksjonen automatisk vil anvende en 10% rabatt med mindre annet er spesifisert. Som vist i default_discount_price-variabelen, kan vi kalle funksjonen med bare price-parameteren.

Men hvis nødvendig, kan vi overstyre standardverdien ved å sende både price og en tilpasset discount (f.eks. 0.20 for 20%) som demonstrert med custom_discount_price-variabelen.

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

Nøkkelordargumenter i Python lar deg sende argumenter ved eksplisitt å navngi hver parameter, noe som gjør funksjonskallene dine mer lesbare og fleksible. Dette er spesielt nyttig når en funksjon har flere parametere eller når rekkefølgen på argumentene kan være forvirrende.

I det følgende eksempelet er både price og discount spesifisert, mens tax-parameteren forblir på sin standardverdi, noe som gir fleksibilitet uten å gå på bekostning av klarhet.

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

Merk

Rekkefølgen på parametere spiller ingen rolle når de sendes med nøkkelordargumenter.

Oppgave

Swipe to start coding

Lag funksjoner for å beregne den totale kostnaden av et produkt ved å bruke en rabatt og skatt, ved å bruke nøkkelordargumenter og standardverdier for fleksibilitet.

  • Definer apply_discount(price, discount=0.05)
    → Returnerer prisen etter å ha brukt rabatten.
  • Definer apply_tax(price, tax=0.07)
    → Returnerer prisen etter å ha lagt til skatten.
  • Definer calculate_total(price, discount=0.05, tax=0.07)
    → Bruker apply_discount() og apply_tax() for å returnere totalprisen med både rabatt og skatt brukt.
  • Kall calculate_total(120) ved å bruke standard rabatt og skatt.
  • Kall calculate_total(100, discount=0.10, tax=0.08) ved å bruke tilpassede verdier via nøkkelordargumenter.

Krav til utdata

  • Skriv ut resultatet med standardverdier:
    Total kostnad med standard rabatt og skatt: $<total_price_default>
  • Skriv ut resultatet med tilpassede verdier:
    Total kostnad med tilpasset rabatt og skatt: $<total_price_custom>

Merk

Når du definerer funksjoner, plasser nødvendige parametere først, etterfulgt av parametere med standardverdier.

Når du kaller funksjoner med nøkkelordargumenter, bør posisjonsargumenter komme før nøkkelordargumenter.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 6. Kapittel 6

Spør AI

expand
ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

book
Modifisere Funksjoner

I programmering er funksjoner dynamiske verktøy som kan tilpasse seg forskjellige situasjoner og behov. De er ikke bare faste kodeblokker. Du kan forbedre funksjoner for å gjøre dem mer allsidige og brukervennlige i ulike sammenhenger.

I dette kapittelet skal vi utforske noen viktige teknikker for å modifisere funksjoner, som å bruke standardargumenter og nøkkelordargumenter.

La oss starte med et enkelt eksempel på modifisering av funksjoner for å forbedre deres nytte i vårt dagligvarebutikkstyringssystem:

Standardargumenter

Standardargumenter er en nyttig funksjon i Python som lar deg spesifisere standardverdier for funksjonsparametere.

I apply_discount()-funksjonen er discount-parameteren satt til 0.10 som standard. Dette betyr at funksjonen automatisk vil anvende en 10% rabatt med mindre annet er spesifisert. Som vist i default_discount_price-variabelen, kan vi kalle funksjonen med bare price-parameteren.

Men hvis nødvendig, kan vi overstyre standardverdien ved å sende både price og en tilpasset discount (f.eks. 0.20 for 20%) som demonstrert med custom_discount_price-variabelen.

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

Nøkkelordargumenter i Python lar deg sende argumenter ved eksplisitt å navngi hver parameter, noe som gjør funksjonskallene dine mer lesbare og fleksible. Dette er spesielt nyttig når en funksjon har flere parametere eller når rekkefølgen på argumentene kan være forvirrende.

I det følgende eksempelet er både price og discount spesifisert, mens tax-parameteren forblir på sin standardverdi, noe som gir fleksibilitet uten å gå på bekostning av klarhet.

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

Merk

Rekkefølgen på parametere spiller ingen rolle når de sendes med nøkkelordargumenter.

Oppgave

Swipe to start coding

Lag funksjoner for å beregne den totale kostnaden av et produkt ved å bruke en rabatt og skatt, ved å bruke nøkkelordargumenter og standardverdier for fleksibilitet.

  • Definer apply_discount(price, discount=0.05)
    → Returnerer prisen etter å ha brukt rabatten.
  • Definer apply_tax(price, tax=0.07)
    → Returnerer prisen etter å ha lagt til skatten.
  • Definer calculate_total(price, discount=0.05, tax=0.07)
    → Bruker apply_discount() og apply_tax() for å returnere totalprisen med både rabatt og skatt brukt.
  • Kall calculate_total(120) ved å bruke standard rabatt og skatt.
  • Kall calculate_total(100, discount=0.10, tax=0.08) ved å bruke tilpassede verdier via nøkkelordargumenter.

Krav til utdata

  • Skriv ut resultatet med standardverdier:
    Total kostnad med standard rabatt og skatt: $<total_price_default>
  • Skriv ut resultatet med tilpassede verdier:
    Total kostnad med tilpasset rabatt og skatt: $<total_price_custom>

Merk

Når du definerer funksjoner, plasser nødvendige parametere først, etterfulgt av parametere med standardverdier.

Når du kaller funksjoner med nøkkelordargumenter, bør posisjonsargumenter komme før nøkkelordargumenter.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 6. Kapittel 6
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt