Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Modifiera Funktioner | Funktioner
Introduktion till Python

Svep för att visa menyn

book
Modifiera Funktioner

Inom programmering är funktioner dynamiska verktyg som kan anpassa sig till olika situationer och behov. De är inte bara fasta kodblock. Du kan förbättra funktioner för att göra dem mer mångsidiga och användarvänliga i olika sammanhang.

I det här kapitlet kommer vi att utforska några viktiga tekniker för att modifiera funktioner, som att använda standardargument och nyckelordsargument.

Låt oss börja med ett enkelt exempel på modifiering av funktioner för att förbättra deras användbarhet i vårt livsmedelsbutikshanteringssystem:

Standardargument

Standardargument är en användbar funktion i Python som låter dig specificera standardvärden för funktionsparametrar.

I funktionen apply_discount() är parametern discount satt till 0.10 som standard. Detta innebär att funktionen automatiskt kommer att tillämpa en 10% rabatt om inget annat anges. Som ses i variabeln default_discount_price, kan vi anropa funktionen med endast price-parametern.

Men om det behövs kan vi åsidokomma standardvärdet genom att skicka både price och en anpassad discount (t.ex. 0.20 för 20%) som demonstreras med variabeln 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

Nyckelordsargument

Nyckelordsargument i Python låter dig skicka argument genom att uttryckligen namnge varje parameter, vilket gör dina funktionsanrop mer läsbara och flexibla. Detta är särskilt användbart när en funktion har flera parametrar eller när ordningen på argumenten kan vara förvirrande.

I följande exempel specificeras både price och discount, medan parametern tax förblir på sitt standardvärde, vilket ger flexibilitet utan att kompromissa med tydligheten.

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

Notera

Ordningen på parametrarna spelar ingen roll när de skickas med nyckelordsargument.

Uppgift

Swipe to start coding

Skapa funktioner för att beräkna den totala kostnaden för en produkt genom att tillämpa en rabatt och skatt, med nyckelordsargument och standardvärden för flexibilitet.

  • Definiera apply_discount(price, discount=0.05)
    → Returnerar priset efter att rabatten tillämpats.
  • Definiera apply_tax(price, tax=0.07)
    → Returnerar priset efter att skatten lagts till.
  • Definiera calculate_total(price, discount=0.05, tax=0.07)
    → Använder apply_discount() och apply_tax() för att returnera det totala priset med både rabatt och skatt tillämpade.
  • Anropa calculate_total(120) med standardrabatt och skatt.
  • Anropa calculate_total(100, discount=0.10, tax=0.08) med anpassade värden via nyckelordsargument.

Utdata krav

  • Skriv ut resultatet med standardvärden:
    Total kostnad med standardrabatt och skatt: $<total_price_default>
  • Skriv ut resultatet med anpassade värden:
    Total kostnad med anpassad rabatt och skatt: $<total_price_custom>

Notera

När du definierar funktioner, placera nödvändiga parametrar först, följt av parametrar med standardvärden.

När du anropar funktioner med nyckelordsargument, bör positionella argument komma före nyckelordsargument.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 6
Vi beklagar att något gick fel. Vad hände?

Fråga AI

expand
ChatGPT

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

book
Modifiera Funktioner

Inom programmering är funktioner dynamiska verktyg som kan anpassa sig till olika situationer och behov. De är inte bara fasta kodblock. Du kan förbättra funktioner för att göra dem mer mångsidiga och användarvänliga i olika sammanhang.

I det här kapitlet kommer vi att utforska några viktiga tekniker för att modifiera funktioner, som att använda standardargument och nyckelordsargument.

Låt oss börja med ett enkelt exempel på modifiering av funktioner för att förbättra deras användbarhet i vårt livsmedelsbutikshanteringssystem:

Standardargument

Standardargument är en användbar funktion i Python som låter dig specificera standardvärden för funktionsparametrar.

I funktionen apply_discount() är parametern discount satt till 0.10 som standard. Detta innebär att funktionen automatiskt kommer att tillämpa en 10% rabatt om inget annat anges. Som ses i variabeln default_discount_price, kan vi anropa funktionen med endast price-parametern.

Men om det behövs kan vi åsidokomma standardvärdet genom att skicka både price och en anpassad discount (t.ex. 0.20 för 20%) som demonstreras med variabeln 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

Nyckelordsargument

Nyckelordsargument i Python låter dig skicka argument genom att uttryckligen namnge varje parameter, vilket gör dina funktionsanrop mer läsbara och flexibla. Detta är särskilt användbart när en funktion har flera parametrar eller när ordningen på argumenten kan vara förvirrande.

I följande exempel specificeras både price och discount, medan parametern tax förblir på sitt standardvärde, vilket ger flexibilitet utan att kompromissa med tydligheten.

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

Notera

Ordningen på parametrarna spelar ingen roll när de skickas med nyckelordsargument.

Uppgift

Swipe to start coding

Skapa funktioner för att beräkna den totala kostnaden för en produkt genom att tillämpa en rabatt och skatt, med nyckelordsargument och standardvärden för flexibilitet.

  • Definiera apply_discount(price, discount=0.05)
    → Returnerar priset efter att rabatten tillämpats.
  • Definiera apply_tax(price, tax=0.07)
    → Returnerar priset efter att skatten lagts till.
  • Definiera calculate_total(price, discount=0.05, tax=0.07)
    → Använder apply_discount() och apply_tax() för att returnera det totala priset med både rabatt och skatt tillämpade.
  • Anropa calculate_total(120) med standardrabatt och skatt.
  • Anropa calculate_total(100, discount=0.10, tax=0.08) med anpassade värden via nyckelordsargument.

Utdata krav

  • Skriv ut resultatet med standardvärden:
    Total kostnad med standardrabatt och skatt: $<total_price_default>
  • Skriv ut resultatet med anpassade värden:
    Total kostnad med anpassad rabatt och skatt: $<total_price_custom>

Notera

När du definierar funktioner, placera nödvändiga parametrar först, följt av parametrar med standardvärden.

När du anropar funktioner med nyckelordsargument, bör positionella argument komma före nyckelordsargument.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 6
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt