En funktion är ett block av kod som utför en specifik uppgift. När man anropar funktionen så vet man exakt vad för kod som kommer köra och på så sätt slipper man skriva samma kod flera gånger om. En funktion kan ta inparametrar och använda sig av dessa för att göra exempelvis beräkningar. Funktioner kan även returnera värden när funktionen är utförd.
Genom att skriva din kod som funktioner kan man enkelt återanvända samma kod flera gånger på olika ställen i programmet. Detta kapitel går igenom hur man skapar och använder funktioner med följande avsnitt:
Vad är en funktion i Python?
En funktion i Python är en samling, ett block av fördefinerade operationer som man kan anropa på när man vill att dessa operationerna ska köra i följd. En stor fördel med funktioner är att du inte behöver skriva samma kod flera gånger, du kan istället anropa en funktion flera gånger.
En funktion kan få in ett eller flera värden (inparametrar) och sedan returnera värden om så önskas.
Funktioner hjälper oss att dela upp och återanvända kod. En funktion kan bero på sina argument, andra funktioner och tillstånd utanför funktionen. Tydliga inparametrar och returvärden gör sådana beroenden lättare att förstå.
Man kan tänka sig en funktion som en "black box", det vill säga att vi skickar in ett eller flera värden och får ut ett annat. I praktiken behöver man inte veta alla detaljer som händer inuti funktionen. Man behöver bara veta att det returnerar det som efterfrågas.

Funktioner i Python
- Är ett block av kod som enbart kommer köra när man kallar på (anropar) funktionen.
- Kan få inparametrar (värden) som man kan använda i funktionen.
- Kan returnera värden, det vill säga, skicka ut värden ut från funktionen. Ofta skickar man ut resultatet från en beräkning.
I nästa avsnitt kommer vi lära oss hur man skapar och anropar funktioner på ett effektivt sätt.
Vanliga frågor och svar om funktioner i Python
Man säger att man anropar en funktion när man kör funktionen. I vissa sammanhang säger man även kalla på funktionen.
När en funktion når return avslutas det aktuella funktionsanropet och ett värde skickas tillbaka. Om inget returvärde anges, eller om funktionen når slutet utan return, blir returvärdet None. Flera värden kan packas i exempelvis en tuple.
Man kan ange en eller flera inparametrar, det vill säga värden som man skickar in i funktionen. Dessa värden använder man sedan i funktionen. Man skickar såklart bara in värden som man behöver för att utföra alla operationer i funktionen.