Funktioner

Precis som vi delar in böcker i kapitel och stycken kan vi också dela upp kod i tillgängliga delar. Bland annat talar vi om funktioner (också kallat metoder).

En funktion har ett namn och innehåller en eller flera rader kod, som ansvarar för att uföra en viss uppgift. När våra program blir större och större är det viktigt att kunna använda.

Som print() fast vår egen

Vi har redan sett olika funktioner, som print(). Det är en funktion som tar emot någon information och den ansvarar för att skriva ut det på skärmen. Exakt hur den utskriften går till i detalj behöver vi inte känna till, men kan återanvända den varje gång vi ska skriva ut något.

En annan funktion vi använt är random.randint() som tar emot två tal och producerar ett resultat vi får tillbaka, som vi kan spara i en variabel.

Vi kan se funktion som en liten maskin, eller som ett litet program inuti våra program. Mycket värdefulla för att återanvända kod.

En funktion skrivs med ordet def såhär:

def hälsa():
    print("Hello")
    print("Kul att träffas")

Detta program gör just nu ingenting mer än att definiera en funktion. Precis såhär är t.ex. print eller randint definierade och väntar på att få användas.

För att använda funktionen måste vi anropa den, till exempel såhär:

hälsa()

Prova att köra programmet nu!

Och anropar vi den flera gånger får vi fler Hello:

hälsa()
hälsa()
hälsa()

Kapitel och stycken

Precis som vi delar in böcker i kapitel och stycken delar vi upp kod för att få en överblick och för att slippa göra samma sak flera gånger.
En funktion har dels ett huvud, som beskriver vad den heter och hur den kan användas:

# funktionens huvud
def hälsa():

Samt en kropp, som beskriver vad funktionen gör när den anropas:

# funktionens kropp 
    print("Hello") 
    print("Kul att träffas")

Dessa rader är indenterade, precis som vid if-satser och loopar, för att visa vilka rader som är del av funktionen, och vilka som inte är det.

Kom ihåg att parenteserna vid anropet alltid måste vara med.
I nästa avsnitt ska vi se vad vi kan använda funktioner till.

Har du en fråga du vill ställa om Funktioner? Ställ den på Pluggakuten.se
Har du hittat ett fel, eller har du kommentarer till materialet på den här sidan? Mejla matteboken@mattecentrum.se
Läs sidan på andra språk

I den här videon delar vi upp kod i olika funktioner, och ser noga hur Python hoppar mellan kodrader när vi anropar funktioner.

  • Funktion: Små återanvändbara delar av kod, till exempel input och print. Dessa kallas också metoder.
  • Funktionshuvud: Beskriver vad funktionen heter och hur den kan användas.
  • Funktionskropp: Innehåller de instruktioner som utförs när funktionen anropas.
  • Anrop: Att använda en metod, vilket vi gör genom att skriva funktionens namn följt av parenteser.
Svårighetsgrad