Moduler i Python


Moduler i Python, är en pythonfil med definierade funktioner som vi kan importera och använda i andra filer.

Vad är en modul i Python?

I Python, är en modul (module) en samling av definitioner (funktioner) sparade i en separat Python-fil som kan importeras i andra filer för att få mer kompakt och tydlig kod. Ofta behandlar funktioner olika delar av programmet och för att inte blanda ihop kod som behandlar olika logiksegment med andra, väljer man att modularisera programmet, så att varje modul hanterar sin del av programmet.

För att inte blanda ihop kod som behandlar olika logiksegment med andra, väljer man att modularisera programmet, så att varje modul hanterar sin del av programmet.

Moduler i Python:

  • Är en samling av definierade funktioner
  • Kan importeras i andra pythonfiler
  • Ger mer kompakt och tydlig kod

Varför moduler i Python?

Allt eftersom man skriver större och mer komplexa program, krävs någon form av modularisering av sin kod. Det innebär att varje del av din kod sköter sin del av programmet. För att inte blanda ihop kod som behandlar olika saker av programmet i samma fil, väljer man att bryta ut varje del av programmet till en egen fil – som i sin tur kan importeras som en modul. I stora program är det inte ovanligt med Python-filer som innehåller flera hundratals, kanske till och med tusentals rader kod. Detta blir ofta ett problem då det blir svårt att hitta och strukturera i sin kod. Moduler är lösningen på detta problem!

Hur importerar man en modul i Python?

En modul importeras enkelt med det reserverade ordet import.

import modul

Alternativt kan man importera en specifik funktion i en modul med följande syntax:

from modulnamn import funktionsnamn

Det är även möjligt att nanmge en modul till ett internt namn:

from modulnamn import funktionsnamn as namn

I nedanstående exempel visar vi hur vi kan skapa och importera moduler med ovanstående syntax.

Hur skapar man moduler i Python? – Exempel

Vi ska nu testa att skapa en modul. Börja med att skapa en ny fil och döp den till det namn som du vill att modulen ska heta. Vanligtvis namnger man filen till något som förklarar vad modulen gör.

Exempelvis: vi skapar filen math_tools.py som ska bli en modul där vi definierar vanliga matematiska funktioner. Vi börjar med att skapa funktionen sum_values som summerar värdet på två variabler:

Filen math_tools.py

Skapa sedan en ny fil, main.py som är vårt huvudskript. Från huvudskriptet kan du nu importera modulen math_tools, och använda dess funktioner i ditt huvudskript:

I filen main.py

Du kan nu anropa funktionen från main.py enligt:

Vilket i det här fallet skulle ge utskriften:

8

Ibland är moduler väldigt stora och innehåller massor av funktioner. Det finns egentligen ingen anledning till att importera en hel modul om du bara ska använda ett par stycken funktioner från modulen. I dessa fall kan man ange vilka funktioner man vill importera genom att ange funktionen enligt:

Man kan nu använda funktionen direkt enligt:

Det är även möjligt att namnge funktionen till något enklare namn som ger mer kompakt kod, exempelvis:

Avslutningsvis, var varsam med vad du namger funktionerna till. Har du många funktioner är det ofta svårt att komma ihåg vilket namn som funktionen tillhör.

Hur importerar man ett paket (package) i Python?

Python har otroligt många packages (moduler/paket) som är fördefinerade i Pythons standardbibliotek. Dessa kan vi direkt importera i våra program, exempelvis:

Vilket är ett standardbibliotek med vanliga matematiska funktioner, exempelvis:

vilket ger utskriften:

9

7

Bakåt    |    Framåt