Skip to content

Kmom03: Funktioner och moduler

I detta kursmoment ska vi kolla på hur vi kan strukturera koden så den blir mer effektiv och mer lättläst. Du introduceras till funktioner och hur de kan underlätta för att återanvända koden och moduler för att strukturera koden i flera filer. Vi kommer i övningar och uppgifter träna på hur vi skriver funktioner med och utan argument och hur vi skickar tillbaka data från funktioner. Till slut vidareutvecklar vi Marvin så han kan svara på ännu fler frågor.


Marvin skall nu lära sig lite mer och få en bättre struktur

Innan du börjar med kmom03 så behöver du ha jobbat igenom Kmom02.


Vi fortsätter att läsa i boken Python for Everybody: Exploring data in Python3.

  1. Läs och jobba igenom följande kapitel i boken (alternativt kolla på videorna):

    • Ch4 Function
  2. Jobba igenom artikeln/övningen Funktioner, argument och returvärden för att träna på hur du skapar funktioner. De exempelprogram du gör kan du spara i ditt kursrepo under src/kmom03/practice

  3. Jobba igenom övningen LEGB regeln och scopes i Python som handlar hur python hanterar scope och var variabler är tillgängliga. De exempelprogram du gör kan du spara i ditt kursrepo under src/kmom03/practice


Jobba igenom seminarium kmom03. Det görs på onsdagens lektion.


  1. Jobba igenom artikeln/övningen Moduler i Python för att bekanta dig med ett sätt att strukturera koden i Python. De exempelprogram du gör kan du spara i ditt kursrepo under me/kmom03/practice då koden bygger på övningen från måndag.

  2. Lös uppgifterna under Uppgifter.


Följande uppgifter skall utföras och resultatet skall redovisas.

  1. Gör uppgiften Marvin - steg 2 för att visa att du har koll på hur man kan strukturera sitt program genom att använda funktioner. Spara alla filer under src/kmom03/marvin2.

Läs instruktionen om hur du skall redovisa.

Utöver en vanlig inlämning ska du också göra en Pull Request.

Se till att följande frågor besvaras i din redovisningstext i din rapportsida.

  • Hur kan du definiera och använda funktioner i dina program?
  • Vad sker vid ett anrop av en funktion?
  • Varför vill vi använda funktioner i vår kod?
  • Har du fått förståelse för hur du kan paketera funktioner i moduler och hur du kan få tillgång till funktioner som finns i en modul?
  • Hur har det gått det med valideringen av uppgifterna?
  • Vad har varit svårast respektive lättast i detta kmom?
  • Vilken är din TIL för detta kmom?

TIL är en akronym för “Today I Learned” vilket leksamt anspelar på att det finns alltid nya saker att lära sig, varje dag. Man brukar lyfta upp saker man lärt sig och där man kanske hajade till lite extra över dess nyttighet eller enkelhet, eller så var det bara en ny lärdom för dagen som man vill notera.