Brugerdefinerede Funktioner
En brugerdefineret funktion er en kodeblok, som du opretter for at udføre en specifik opgave. I modsætning til indbyggede funktioner, som leveres af Python, er brugerdefinerede funktioner skrevet af dig for at løse specifikke problemer i dine programmer. Når de først er defineret, kan disse funktioner genbruges flere gange, hvilket gør din kode mere organiseret, effektiv og lettere at vedligeholde.
Lad os nu se, mens Alex demonstrerer, hvordan man opretter og bruger brugerdefinerede funktioner til at forenkle opgaver:
Den grundlæggende struktur af en brugerdefineret funktion i Python ser sådan ud:
python
def
: dette nøgleord bruges til at starte definitionen af en funktion ;function_name
: dette er det navn , du giver til din funktion. Det bør være beskrivende for, hvad funktionen gør, hvilket gør din kode mere læsbar;argument_1, argument_2
: disse er navnene på de variabler , som du sender ind i funktionen. De fungerer som pladsholdere for de værdier, du vil give, når du kalder funktionen. En funktion kan have nul eller flere parametre;Kolon
:
angiver starten på funktionens kodeblok ;# Code block
: dette er funktionens krop , hvor du skriver den kode, som funktionen vil udføre. Det skal være indrykket ligesom når man skriver loops eller betingede udsagn;return
: denne erklæring bruges til at afslutte funktionen og returnere et resultat . Ikke alle funktioner behøver en return-erklæring, men det er nyttigt, når du vil sende en værdi tilbage til det sted, hvor funktionen blev kaldt.
Parametre og Argumenter
Parametre er de variabler, der er angivet inde i parenteserne i funktionsdefinitionen. De bruges til at modtage værdier (argumenter), der sendes ind i funktionen.
Argumenter er de faktiske værdier, du giver til funktionen, når du kalder den. Disse værdier tildeles til funktionens parametre.
def greet_customer(name): print(f"Hello, {name}! Welcome to our store.") greet_customer("Alice")
Bemærk
I eksemplet ovenfor er
name
parameteren, og strengen"Alice"
er argumentet.
Void-funktioner
Som vist ovenfor, behøver ikke alle funktioner at returnere en værdi. Nogle funktioner udfører en opgave, men returnerer ikke noget til den, der kalder dem. Disse kaldes void-funktioner.
I Python er en void-funktion en brugerdefineret funktion, der enten mangler en return
-sætning eller har en return
-sætning, der ikke returnerer nogen værdi. I begge tilfælde vil funktionen returnere None
som standard.
I eksemplet ovenfor er greet_customer()
en void-funktion, fordi den udfører handlingen at udskrive en hilsen, men returnerer ikke noget resultat, der kan gemmes eller bruges andre steder i programmet.
Eksempel på Void-funktion
Her er et andet eksempel på en void-funktion, hvor return
-sætningen bruges til at afslutte funktionens udførelse, men stadig ikke returnerer nogen værdi.
# 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)
Eksempel på Anvendelse
Lad os nu overveje en funktion, der returnerer en specifik værdi. For eksempel, hvis du ofte har brug for at beregne rabatter for forskellige produkter i din butik, kan du oprette en funktion til at udføre rabatberegningen. Denne funktion kan derefter genbruges, når det er nødvendigt.
# `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
Definér en funktion til at beregne de samlede omkostninger for et produkt ved at multiplicere dets pris og solgte mængde.
- Opret en funktion kaldet
calculate_total_cost()
der tager to parametre:price
ogquantity
. - Inden i funktionen, multiplicér
price
medquantity
for at få de samlede omkostninger. - Returnér resultatet fra funktionen.
Outputkrav
- Kald
calculate_total_cost()
medprice = 1.50
ogquantity = 10
. - Print resultatet som:
The total cost for apples is $<apples_total_cost>
Løsning
Tak for dine kommentarer!