PythonPodcast 5 - itnett/FTD02H-N GitHub Wiki

Episode 5 – Funksjoner i Python: Gjør Koden Gjenbrukbar og Modulær

Velkommen til episode 5 av vår Python-podcast for nybegynnere! Denne gangen skal vi ta et stort skritt fremover og se på funksjoner i Python. Funksjoner lar oss strukturere koden bedre, gjøre den mer gjenbrukbar og lettere å forstå. Før vi går videre, la oss oppsummere hva vi har lært til nå.

Oppsummering av de foregående episodene:

  1. Episode 1–3: Vi lærte grunnleggende Python-syntaks, bruk av variabler, betingelser som if, else, og sammenligningsoperatorer. Vi har også jobbet med input og output via input() og print().

  2. Episode 4: Vi lærte om løkker som while-løkker og for-løkker, hvordan vi kan iterere gjennom tall og lister, og hvordan vi kan bruke break og continue for å kontrollere løkkenes flyt.

I dag skal vi se på funksjoner, som er en måte å organisere kode på slik at vi kan gjenbruke den flere ganger i et program. La oss starte med en grunnleggende introduksjon.

Hva er en funksjon?

En funksjon er en blokk med kode som kun kjører når den blir kalt. Du kan sende data, kalt argumenter, til en funksjon, og den kan returnere et resultat tilbake. Tenk på funksjoner som verktøy du kan definere én gang og bruke mange ganger. Dette gjør koden mer ryddig og effektiv.

Eksempel på en enkel funksjon:

Definerer en enkel funksjon som sier hei

def si_hei(): print("Hei!")

Les opp koden:

Linje 1: Vi bruker nøkkelordet def for å definere en funksjon som heter si_hei. Dette er navnet vi skal bruke for å kalle funksjonen senere.

def er kort for "definisjon".

Vi setter to parenteser () etter funksjonsnavnet, selv om det ikke er noen argumenter her.

Til slutt avslutter vi med kolon (:) for å markere starten på funksjonskroppen.

Linje 2: Inni funksjonen bruker vi print() for å skrive ut "Hei!" når funksjonen blir kalt.

Merk: All kode som hører til funksjonen, må være innrykket.

For å bruke denne funksjonen, kaller vi den slik:

Kalle funksjonen

si_hei()

Når vi kjører denne koden, vil Hei! skrives ut på skjermen fordi vi har kalt funksjonen si_hei().

Funksjoner med argumenter

La oss lage en funksjon som tar inn data og bruker den til å gjøre noe. Funksjoner kan ta inn argumenter, som er verdier vi gir til funksjonen når vi kaller den.

Eksempel: Funksjon som sier hei til en spesifikk person:

Definerer funksjonen med ett argument

def si_hei_til(navn): print(f"Hei, {navn}!")

Les opp koden:

Linje 1: Vi definerer en funksjon som heter si_hei_til og som tar ett argument, navn.

Argumentet navn er som en variabel som kan inneholde hvilken som helst verdi vi sender til funksjonen.

Linje 2: Vi bruker f-streng for å inkludere navnet i utskriften.

For å bruke denne funksjonen:

Kalle funksjonen og sende et argument

si_hei_til("Ola")

Dette vil skrive ut Hei, Ola!.

Funksjoner med flere argumenter

Funksjoner kan også ta inn flere argumenter.

Eksempel: Funksjon som legger sammen to tall:

Definerer en funksjon med to argumenter

def legg_sammen(a, b): resultat = a + b return resultat # Returnerer resultatet av addisjonen

Les opp koden:

Linje 1: Vi definerer en funksjon som heter legg_sammen og som tar to argumenter, a og b.

Linje 2: Vi oppretter en variabel resultat som er summen av a og b.

Linje 3: Vi bruker return for å sende resultatet tilbake til der funksjonen ble kalt.

For å bruke denne funksjonen:

Kalle funksjonen og skrive ut resultatet

summen = legg_sammen(5, 3) print(f"Summen er {summen}")

Dette vil skrive ut Summen er 8.

Hvorfor bruke funksjoner?

Modulær kode: Funksjoner gjør det mulig å dele opp koden i mindre, logiske enheter som er lettere å forstå.

Gjenbruk: Når du har definert en funksjon, kan du bruke den så mange ganger du vil i koden din uten å skrive den på nytt.

Enklere debugging: Det er lettere å finne feil i mindre kodeblokker.

Returnere verdier fra en funksjon

En funksjon kan returnere en verdi med nøkkelordet return. Dette gjør at du kan lagre resultatet fra en funksjon i en variabel og bruke det videre.

Eksempel: Funksjon som returnerer arealet av en sirkel:

import math # Importerer matematiske funksjoner, inkludert pi

def areal_av_sirkel(radius): return math.pi * radius ** 2 # Formelen for areal av en sirkel

Les opp koden:

Linje 1: Vi importerer modulen math, som inneholder matematiske funksjoner og konstanter, som pi.

Linje 3: Vi definerer en funksjon areal_av_sirkel som tar argumentet radius og returnerer arealet av sirkelen.

For å bruke funksjonen:

areal = areal_av_sirkel(5) print(f"Arealet av sirkelen er {areal:.2f}")

Dette vil skrive ut Arealet av sirkelen er 78.54.

Funksjoner uten return

Noen ganger trenger ikke funksjonen å returnere noe. Den kan bare utføre en oppgave.

Eksempel:

def si_hei(): print("Hei, velkommen!")

Denne funksjonen skriver bare ut en melding og returnerer ingenting. Det er greit så lenge funksjonen gjør det vi ønsker, som i dette tilfellet, å skrive ut en melding.

Lokale og Globale variabler

Når vi definerer variabler inne i en funksjon, kalles disse lokale variabler. De eksisterer bare inni funksjonen og kan ikke brukes utenfor den. Variabler som defineres utenfor funksjoner, kalles globale variabler og kan brukes hvor som helst i programmet.

Eksempel på lokale variabler:

def beregn_summen(): a = 5 # Lokale variabler b = 10 return a + b

summen = beregn_summen() print(summen) # Skriv ut resultatet

Her er a og b lokale til funksjonen beregn_summen og eksisterer ikke utenfor den.

Feilhåndtering med funksjoner

Når vi skriver kode, kan det oppstå feil. Python har et system for unntakshåndtering som hjelper oss å håndtere feil på en kontrollert måte. Vi bruker try og except til å håndtere potensielle feil.

Eksempel på unntakshåndtering:

def del_to_tall(a, b): try: resultat = a / b # Kan gi feil hvis b er 0 return resultat except ZeroDivisionError: print("Feil: Kan ikke dele med null!")

Les opp koden:

Linje 3: Vi prøver å dele a på b. Hvis b er 0, vil dette gi en feil.

Linje 5: Hvis en ZeroDivisionError oppstår (forsøk på å dele med null), håndterer vi det ved å skrive ut en feilmelding.

Oppsummering av Episode 5:

Vi har lært hvordan vi kan bruke funksjoner i Python for å gjøre koden vår mer modulær og gjenbrukbar.

Vi har sett på hvordan vi kan sende argumenter til funksjoner, og hvordan vi kan returnere verdier.

Vi har også sett på hvordan vi kan håndtere feil ved hjelp av unntakshåndtering med try og except.

Oppgave til deg:

  1. Lag en funksjon som tar to tall som argumenter og returnerer summen,