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 anpassas 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 detta kapitel kommer vi att utforska några viktiga tekniker för att modifiera funktioner, såsom att använda standardargument och nyckelordsargument.

Låt oss börja med ett enkelt exempel på modifiering av funktioner för att öka deras användbarhet i vårt system för hantering av livsmedelsbutiker:

Standardargument

Standardargument är en användbar funktion i Python som gör det möjligt att ange standardvärden för funktionsparametrar.

I funktionen apply_discount() är parametern discount satt till 0.10 som standard. Det innebär att funktionen automatiskt tillämpar en 10 % rabatt om inget annat anges. Som visas i variabeln default_discount_price kan vi anropa funktionen med enbart parametern price.

Om det behövs kan vi dock åsidosätta standardvärdet genom att ange både price och en egen 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

Nyckelargument

Nyckelargument i Python gör det möjligt att skicka argument genom att uttryckligen namnge varje parameter, vilket gör funktionsanropen 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 anges både price och discount, medan parametern tax behåller 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

Observera

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

Uppgift

Swipe to start coding

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

  • Definiera apply_discount(price, discount=0.05)
    → Returnerar priset efter att rabatten har tillämpats.
  • Definiera apply_tax(price, tax=0.07)
    → Returnerar priset efter att momsen har 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 moms tillämpade.
  • Anropa calculate_total(120) med standardrabatt och standardmoms.
  • Anropa calculate_total(100, discount=0.10, tax=0.08) med egna värden via nyckelordsargument.

Utskriftskrav

  • Skriv ut resultatet med standardvärden:
    Total cost with default discount and tax: $<total_price_default>
  • Skriv ut resultatet med egna värden:
    Total cost with custom discount and tax: $<total_price_custom>

Obs

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

Vid anrop av funktioner med nyckelordsargument ska 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 anpassas 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 detta kapitel kommer vi att utforska några viktiga tekniker för att modifiera funktioner, såsom att använda standardargument och nyckelordsargument.

Låt oss börja med ett enkelt exempel på modifiering av funktioner för att öka deras användbarhet i vårt system för hantering av livsmedelsbutiker:

Standardargument

Standardargument är en användbar funktion i Python som gör det möjligt att ange standardvärden för funktionsparametrar.

I funktionen apply_discount() är parametern discount satt till 0.10 som standard. Det innebär att funktionen automatiskt tillämpar en 10 % rabatt om inget annat anges. Som visas i variabeln default_discount_price kan vi anropa funktionen med enbart parametern price.

Om det behövs kan vi dock åsidosätta standardvärdet genom att ange både price och en egen 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

Nyckelargument

Nyckelargument i Python gör det möjligt att skicka argument genom att uttryckligen namnge varje parameter, vilket gör funktionsanropen 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 anges både price och discount, medan parametern tax behåller 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

Observera

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

Uppgift

Swipe to start coding

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

  • Definiera apply_discount(price, discount=0.05)
    → Returnerar priset efter att rabatten har tillämpats.
  • Definiera apply_tax(price, tax=0.07)
    → Returnerar priset efter att momsen har 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 moms tillämpade.
  • Anropa calculate_total(120) med standardrabatt och standardmoms.
  • Anropa calculate_total(100, discount=0.10, tax=0.08) med egna värden via nyckelordsargument.

Utskriftskrav

  • Skriv ut resultatet med standardvärden:
    Total cost with default discount and tax: $<total_price_default>
  • Skriv ut resultatet med egna värden:
    Total cost with custom discount and tax: $<total_price_custom>

Obs

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

Vid anrop av funktioner med nyckelordsargument ska 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