Brukerdefinerte Funksjoner
En brukerdefinert funksjon er en kodeblokk som du lager for å utføre en bestemt oppgave. I motsetning til innebygde funksjoner, som tilbys av Python, skrives brukerdefinerte funksjoner av deg for å løse spesifikke problemer i programmene dine. Når de først er definert, kan disse funksjonene gjenbrukes flere ganger, noe som gjør koden din mer organisert, effektiv og enklere å vedlikeholde.
Nå skal vi se på hvordan Alex demonstrerer hvordan man lager og bruker brukerdefinerte funksjoner for å forenkle oppgaver:
Den grunnleggende strukturen til en brukerdefinert funksjon i Python ser slik ut:
python
def
: dette nøkkelordet brukes for å starte definisjonen av en funksjon;function_name
: dette er navnet du gir funksjonen din. Det bør være beskrivende for hva funksjonen gjør, slik at koden blir mer lesbar;argument_1, argument_2
: dette er navnene på variablene som du sender inn i funksjonen. De fungerer som plassholdere for verdiene du gir når du kaller funksjonen. En funksjon kan ha null eller flere parametere;Kolonet
:
markerer starten på funksjonens kodeblokk;# Code block
: dette er funksjonens kropp, hvor du skriver koden som funksjonen skal utføre. Den må ha innrykk, på samme måte som ved løkker eller betingede setninger;return
: denne setningen brukes for å avslutte funksjonen og returnere et resultat. Ikke alle funksjoner trenger en return-setning, men det er nyttig når du ønsker å sende en verdi tilbake til stedet der funksjonen ble kalt.
Parametere og argumenter
Parametere er variablene som står inne i parentesene i funksjonsdefinisjonen. De brukes til å motta verdier (argumenter) som sendes inn i funksjonen.
Argumenter er de faktiske verdiene du gir til funksjonen når du kaller den. Disse verdiene tildeles funksjonens parametere.
def greet_customer(name): print(f"Hello, {name}! Welcome to our store.") greet_customer("Alice")
Merk
I eksempelet ovenfor er
name
parameteren, og strengen"Alice"
er argumentet.
Void-funksjoner
Som vist ovenfor, trenger ikke alle funksjoner å returnere en verdi. Noen funksjoner utfører en oppgave, men returnerer ikke noe til den som kaller funksjonen. Disse kalles void-funksjoner.
I Python er en void-funksjon en brukerdefinert funksjon som enten mangler en return
-setning eller har en return
-setning som ikke returnerer noen verdi. I begge tilfeller vil funksjonen returnere None
som standard.
I eksempelet ovenfor er greet_customer()
en void-funksjon fordi den utfører handlingen med å skrive ut en hilsen, men returnerer ikke noe resultat som kan lagres eller brukes andre steder i programmet.
Eksempel på void-funksjon
Her er et annet eksempel på en void-funksjon der return
-setningen brukes til å avslutte funksjonens utførelse, men fortsatt ikke returnerer noen verdi.
# 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å bruk
La oss nå se på en funksjon som returnerer en spesifikk verdi. For eksempel, hvis du ofte må beregne rabatter for ulike produkter i butikken din, kan du lage en funksjon for å utføre rabattberegningen. Denne funksjonen kan deretter gjenbrukes når det er nødvendig.
# `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
Definer en funksjon for å beregne totalkostnaden for et produkt ved å multiplisere prisen med antall solgt.
- Lag en funksjon kalt
calculate_total_cost()
som tar to parametere:price
ogquantity
. - Inne i funksjonen multipliserer du
price
medquantity
for å finne totalkostnaden. - Returner resultatet fra funksjonen.
Krav til utdata
- Kall
calculate_total_cost()
medprice = 1.50
ogquantity = 10
. - Skriv ut resultatet slik:
The total cost for apples is $<apples_total_cost>
Løsning
Takk for tilbakemeldingene dine!