Användardefinierade Funktioner
En användardefinierad funktion är ett kodblock som du skapar för att utföra en specifik uppgift. Till skillnad från inbyggda funktioner, som tillhandahålls av Python, skrivs användardefinierade funktioner av dig för att lösa specifika problem i dina program. När de väl är definierade kan dessa funktioner återanvändas flera gånger, vilket gör din kod mer organiserad, effektiv och lättare att underhålla.
Nu ska vi se när Alex demonstrerar hur man skapar och använder användardefinierade funktioner för att förenkla uppgifter:
Den grundläggande strukturen för en användardefinierad funktion i Python ser ut så här:
python
def
: detta nyckelord används för att påbörja definitionen av en funktion;function_name
: detta är namnet du ger din funktion. Det bör vara beskrivande för vad funktionen gör, vilket gör din kod mer läsbar;argument_1, argument_2
: detta är namnen på variablerna som du skickar in i funktionen. De fungerar som platshållare för de värden du anger när du anropar funktionen. En funktion kan ha noll eller flera parametrar;Kolonet
:
markerar början på funktionens kodblock;# Code block
: detta är funktionens kropp, där du skriver koden som funktionen ska utföra. Den måste indenteras på samma sätt som när du skriver loopar eller villkorssatser;return
: denna sats används för att avsluta funktionen och returnera ett resultat. Alla funktioner behöver inte en return-sats, men det är användbart när du vill skicka tillbaka ett värde till platsen där funktionen anropades.
Parametrar och argument
Parametrar är de variabler som anges inom parenteserna i funktionsdefinitionen. De används för att ta emot värden (argument) som skickas in i funktionen.
Argument är de faktiska värden du skickar till funktionen när du anropar den. Dessa värden tilldelas funktionens parametrar.
def greet_customer(name): print(f"Hello, {name}! Welcome to our store.") greet_customer("Alice")
Obs
I exemplet ovan är
name
parametern, och strängen"Alice"
är argumentet.
Void-funktioner
Som visats ovan behöver inte alla funktioner returnera ett värde. Vissa funktioner utför en uppgift men returnerar inget till anroparen. Dessa kallas void-funktioner.
I Python är en void-funktion en användardefinierad funktion som antingen saknar en return
-sats eller har en return
-sats som inte returnerar något värde. I båda fallen kommer funktionen att returnera None
som standard.
I exemplet ovan är greet_customer()
en void-funktion eftersom den utför åtgärden att skriva ut en hälsning men returnerar inget resultat som kan sparas eller användas någon annanstans i programmet.
Exempel på void-funktion
Här är ett annat exempel på en void-funktion där return
-satsen används för att avsluta funktionens exekvering men ändå inte returnerar något värde.
# Function to check stock levels of grocery items def check_stock(inventory): for item, stock in inventory.items(): if stock < 10: print(f"Warning: {item} is running low on stock with only {stock} units left!") print("Please restock the item before proceeding with the check.") return # Stops the function if stock is below 10 print(f"{item} has sufficient stock: {stock} units.") print("All items have sufficient stock.") # Example inventory of a grocery store inventory = { "Apples": 50, "Bananas": 30, "Milk": 8, # This will trigger the early exit "Bread": 25 } # Check stock levels check_stock(inventory)
Exempelapplikation
Nu kan vi titta på en funktion som returnerar ett specifikt värde. Om du till exempel ofta behöver beräkna rabatter för olika produkter i din butik, kan du skapa en funktion för att utföra rabattberäkningen. Denna funktion kan sedan återanvändas vid behov.
# `cost` and `discount_rate` are the parameters of the function def calculate_discounted_price(cost, discount_rate): final_price = cost * (1 - discount_rate) return final_price # Call the `calculate_discounted_price` function and pass in `cost` and `discount_rate` values as arguments apples_final_price = calculate_discounted_price(1.2, 0.10) milk_final_price = calculate_discounted_price(2.2, 0.15) bread_final_price = calculate_discounted_price(0.8, 0.05) # Display the discounted prices print(f"The discounted price of apples is ${apples_final_price}") print(f"The discounted price of milk is ${milk_final_price}") print(f"The discounted price of bread is ${bread_final_price}")
Swipe to start coding
Definiera en funktion för att beräkna den totala kostnaden för en produkt genom att multiplicera dess pris med såld kvantitet.
- Skapa en funktion som heter
calculate_total_cost()
som tar två parametrar:price
ochquantity
. - Inuti funktionen, multiplicera
price
medquantity
för att få den totala kostnaden. - Returnera resultatet från funktionen.
Utmatningskrav
- Anropa
calculate_total_cost()
medprice = 1.50
ochquantity = 10
. - Skriv ut resultatet som:
Den totala kostnaden för äpplen är $<apples_total_cost>
Lösning
Tack för dina kommentarer!