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 starta 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
: dessa är namnen på variablerna som du skickar in i funktionen. De fungerar som platshållare för de värden som du kommer att tillhandahålla när du anropar funktionen. En funktion kan ha noll eller fler parametrar;Kolonet
:
markerar början av funktionens kodblock ;# Code block
: detta är funktionens kropp , där du skriver koden som funktionen kommer att utföra. Det måste vara indenterat precis som när du skriver loopar eller villkorssatser;return
: detta uttalande används för att avsluta funktionen och returnera ett resultat . Inte alla funktioner behöver ett return-uttalande, men det är användbart när du vill skicka tillbaka ett värde till där funktionen anropades.
Parametrar och Argument
Parametrar är de variabler som listas 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 tillhandahåller 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")
Notera
I exemplet ovan är
name
parametern, och strängen"Alice"
är argumentet.
Voidfunktioner
Som visat ovan behöver inte alla funktioner returnera ett värde. Vissa funktioner utför en uppgift men returnerar inget till anroparen. Dessa kallas för voidfunktioner.
I Python är en voidfunktion en användardefinierad funktion som antingen saknar ett return
-uttalande eller har ett return
-uttalande 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 voidfunktion eftersom den utför handlingen att skriva ut en hälsning men returnerar inget resultat som kan lagras eller användas någon annanstans i programmet.
Exempel på Voidfunktion
Här är ett annat exempel på en voidfunktion där return
-uttalandet används för att avsluta funktionens körning men fortfarande 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 ska vi överväga en funktion som returnerar ett specifikt värde. Till exempel, om du 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 när det behövs.
# `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 och sålda 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.
Utdata krav
- 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!