Dette er ein maskinomsett tekst som kann innehalda feil!
Del 1 - Kva er ein funksjon?
Som nemnt før, ein funksjon er berre noko som gjer noko spesifikt. Me har sett nokre innebygde funksjonar allereie: print(), input(), int(). Desse gjer spesifikke ting, som å skriva ut, henta ut, eller gjera om frå tekst til tal.
No skal me laga våre eigne funksjonar.
Oppgave 1.1a
Lag ein funksjon som skriv ut "Hallo!". Deretter bruk han ved å kalla funksjonen.
def hello():
print("Hallo!")
# her nyttar (kallar) me funksjonen
hello()
Viktig! 🤯
Som i if og else må det vera mellomrom på byrjinga av linjene inni funksjonen. Du kan jo prøva å sjå kva som hendar dersom du tek vekk dette mellomrommet. Verkar koden?
Hva betyr alt dette?
Fyrst og fremst, funksjonar i Python byrjar alltid med def. Dette er kort for “define”, eller definer på Norsk. Deretter må me ha eit mellomrom, deretter namnet på funksjonen, dette kan vera kva som helst. Til slutt må me ha parentesar () og ein kolon :, akkurat som i if, else og elif.
Når me skal bruka funksjonar må me då enkelt skriva namnet på funksjonen etterfølgt av parentesar (). Kvifor må me ha desse parentesane?
Dette er ei enkel funksjon utan argument. Kva er eit argument? Jo, eit argument er noko du kan kasta inn i ein funksjon for å få dei til å gjera noko.
Oppgave 1.1b
Um du endrar namnet på funksjonen til noko anna, til dømes yoloswag, kva må du då gjera for å bruka funksjonen? 🤨
Funksjonsnamn?
Helst gje funksjonane dine namn som er skildrande. Til dømes, um du har ein funksjon som skal rekna ut omkrinsen til ein sirkel, ikkje kall funksjonen berre “A” eller “asdhagd” eller “epicfunction”, kall han til dømes: sirkel_omkrets eller circle_circumference, slik at du veit kva funksjonen kjem til å gjera berre ved å sjå på namnet!
Del 2 - Funksjonar med argument
Me skal ikkje byrja å krangle med funksjonar (🤬), det er ikkje det argumenter tyder, men funksjonar har høve til å ta inn verdiar som me kan bruke i funksjonen.
Du har allereie sett dette før med print(). I print kan du hive inn ein string, tekst, og det er det som vert skrive ut. Som døme: print("Hello there!") skriv ut “Hello there!”.
Oppgave 2.1
Lag ein funksjon som tek inn eit namn og skriv ut ei melding med namnet.
def hello_name(name):
print("Hallo", name)
# Skriv ut "Hallo Bob Kåre"
hello_name("Bob Kåre")
Hva betyr alt dette?
Som før må me hava def for å skapa ein funksjon, men mellom parentesane () stend det no name. Dette er eit argument. Dette er eigentleg berre ein variabel som går an å bruka inne i ein funksjon.
Då, når me skal bruka funksjonen, må me kasta inn ein verdi som dette:
hello_name("Bob Kåre")
Oppgave 2.2 – Flere argument i same høve
Du kann hava so mange argument som du vil for ein funksjon. Prøv å laga ein funksjon som tek inn eit dyr og eit adjektiv som skildrar dyret.
Svaret
def describe(animal, adjective):
print("Du har ein", adjective, animal)
Her kann du til dømes skriva describe("elefant", "rosa") for å skriva "Du har ein rosa elefant". 🐘
Del 3 – return
I denne delen skal me sjå nærare på return-setninga i Python. return vert nytta for å avslutta ei funksjon og eventuelt returnera ei verdi.
Returverdi
Ei funksjon kan returnera ein verdi ved hjelp av return-setninga. Denne verdien kan vera av ein kvar datatype, som tal, tekst, eller endå ei liste.
def legg_samantall(a, b):
summen = a + b
return summen
resultat = legg_samantall(5, 3)
print(resultat) # Skriv ut 8
I dømet ovanfor returnerer funksjonen legg_samantall summen av a og b. Denne verdien vert lagra i variabelen resultat og skriven ut til skjermen.
Ingen returverdi
Ei funksjon kan også returnera ingenting. I slike tilfelle returnerer funksjonen None som standard.
def skriv_ut_melding(melding):
print(melding)
resultat = skriv_ut_melding("Hallo, verda!")
print(resultat) # Skriv ut None
I dette dømet returnerer funksjonen skriv_ut_melding ingenting, og variabelen resultat vil vera sett til None.
Flire returverdiar
Python tillèt funksjonar å returnera fleire verdiar samtidig. Dette vert gjort ved å separera verdiane med komma i return-setninga.
def finn_minimum_og_maksimum(liste):
minimum = min(liste)
maksimum = max(liste)
return minimum, maksimum
minimum, maksimum = finn_minimum_og_maksimum([1, 5, 2, 8, 3])
print(f"Minimum: {minimum}, Maksimum: {maksimum}") # Skriv ut Minimum: 1, Maksimum: 8
I dette dømet returnerer funksjonen finn_minimum_og_maksimum både minimums- og maksimumsverdien i lista. Desse verdiane kan takast imot som eit tuppel eller lagrast i separate variablar.
Hva er return? 💪
return er eit kraftig nøkkelord som let deg sende noko attende frå ei funksjon. Du kan sjå på det som at du spør programmet eit spørsmål, «Kva er flatemålet til eit rektangel» (bruk funksjonen), så gjev funksjonen deg eit svar, som er det som kjem frå return.

Oppgave 3.1
Lag ein funksjon som reknar ut flatemålet til ein firkant, ved å ta inn sidelengda som argument.
Svaret
def square_area(side):
return side * side
# Slik brukar funksjonen
area = square_area(5)
print(area)
Mer om koden
Kva hender her?
area = square_area(5)
areaer ein variabel me vil lagre arealet ireturnvil lagre verdien som vert sendt attende frå funksjonen i denne variabelen.square_area(5)vil rekne ut arealet med side-lengd 5. Som me kan sjå i funksjons-definisjonen står det:def square_area(side):. Her kan me ta inn einside-lengd.
Oppgave 3.2
Lag no ein funksjon som reknar ut omkrinsen til ein firkant, omkrinsen til ein firkant er berre å taka sidlengdi ganget med 4. Du kann hava fleire funksjonar i same fil. 👍
Svaret
# funksjon frå før
def square_area(side):
return side * side
# ny funksjon
def square_circumference(side):
return side * 4
Rektangel
Til slutta kann me kombinera alt me hev lært so langt, for å laga ein funksjon som reknar ut flatemålet og omkrinsen til eit rektangel.
Um de er usikre på korleis dette gjerast, her er formlane for dette:
- Rektangel Flatemål:
lengd * breidd - Rektangel Omkrin:
(2 * lengd) + (2 * breidd)
Oppgave 3.3a – Flatefylla til eit rektangel
Tak inn to argument, ein for lengd og ein for breidd, og rekn ut flatfylla til rektanglet.
Svaret
def rectangle_area(length, width):
return length * width
Oppgave 3.3b – Umkrinsen til eit rektangel
Som i Oppgave 3.3a tak inn to argument, deretter, rekn ut umkrinsen til eit rektangel.
Svaret
def rectangle_circumference(length, width):
return (2 * length) + (2 * width)
Del 4 – Meire kompliserte funksjonar 😎
So langt hev alle funksjonane i denne delen hatt ei linje med kode. Det som er det mest moro med funksjonar er at du kann hava fleire linjer med kode i ei funksjon!
Oppgåve
Lag ei funksjon som tek inn eit tal og returnerer ulike meldingar basert på kva talet er. Til dømes, puttar du inn 0, så får du «Hello there!» som svar.
Svaret
def get_message(number):
if number == 0:
return "Hello there!"
elif number == 1:
return "How is it going?"
elif number == 2:
return "That's amazing!"
else:
return "I don't know about that."
message = get_message(0)
# Skriv ut "Hello there!"
print(message)
Ja! Du kann faktisk hava meir enn berre ein return i ei funksjon. Når ein return vert nådd, stoppar funksjonen der og sender attende svaret. Resten av koden vil ikkje køyre. Dette kann du prøva ved å setja til dømes print("YOLO") inne i ei av if-setningane.
