Du har skrevet funksjoner og organisert kode i filer. Men etter hvert som prosjektene vokser, trenger du en måte å gjenbruke kode på tvers av filer, og ta i bruk kode andre har skrevet. Det er dette moduler handler om i Python.
En modul er rett og slett en Python-fil som inneholder funksjoner, klasser eller variabler. Når du importerer en modul, får du tilgang til alt den tilbyr. Python har hundrevis av innebygde moduler, du kan lage dine egne, og du kan installere eksterne pakker fra andre utviklere.
Importere innebygde moduler
Python kommer med et stort standardbibliotek. For å bruke en modul skriver du import etterfulgt av navnet:
import random
Nå kan du bruke funksjonene i modulen med punktnotasjon: random.randint(1, 10) gir deg et tilfeldig tall mellom 1 og 10.
Vil du importere bare en bestemt funksjon, bruker du from:
from random import randint
Da slipper du å skrive modulnavnet foran, og kan kalle randint(1, 10) direkte.
Du kan også gi modulen et kortere navn med as:
import random as r
r.randint(1, 10)
Og du kan importere alt fra en modul med stjerne: from random import *. Men dette anbefales sjelden, fordi det blir uklart hvor funksjonene kommer fra.
Nyttige innebygde moduler å kjenne til
random gir deg tilfeldige tall og valg. random.choice(["a", "b", "c"]) velger et tilfeldig element fra en liste.
os lar deg jobbe med filsystemet og operativsystemet. os.path.abspath(".") gir deg den fulle stien til mappen du er i.
math har matematiske funksjoner som math.sqrt(16) for kvadratrot og math.pi for pi.
datetime håndterer datoer og tid. datetime.datetime.now() gir deg nåværende tidspunkt.
En fullstendig oversikt over alle innebygde moduler finner du i Pythons modulindeks.
Lag dine egne moduler
Å lage en modul er like enkelt som å lage en ny Python-fil. Si at du har en fil som heter greetings.py:
def hello(name):
print(f"Hei, {name}!")
def goodbye(name):
print(f"Ha det, {name}!")
I en annen fil kan du nå importere funksjonene:
from greetings import hello, goodbye
hello("Magnus")
Python finner modulen så lenge den ligger i samme mappe, eller i en mappe som er registrert i Python-stien. For større prosjekter organiserer du moduler i mapper (pakker) med en __init__.py-fil.
Installere eksterne moduler med pip
Det meste av Pythons styrke kommer fra eksterne pakker laget av andre utviklere. Disse installerer du med pip, Pythons pakkehåndterer:
pip install numpy
Etter installasjon importerer du pakken som en vanlig modul:
import numpy as np
np.array([1, 2, 3])
Noen av de mest brukte eksterne pakkene:
- NumPy for matematikk og vitenskapelig beregning
- Matplotlib for visualisering og grafer
- Requests for å hente data fra nett-APIer
- Pandas for dataanalyse
Du finner alle tilgjengelige pakker på PyPI (Python Package Index), som har over 500 000 pakker.
pip list viser alle pakker du har installert, og pip install --upgrade pakkenavn oppdaterer en pakke til nyeste versjon.
Når bør du lage en modul?
Lag en modul når du har funksjoner som brukes i flere filer. I stedet for å kopiere kode, importerer du den fra ett sted. Da trenger du bare oppdatere koden ett sted hvis noe skal endres.
Et godt tegn på at du trenger en modul er når du kopierer de samme funksjonene mellom filer, eller når en fil blir så lang at den er vanskelig å navigere.
Kjenner du allerede til funksjoner i Python, er moduler det neste naturlige steget for å organisere koden din. Sammen med parametere og returverdier gir de deg et solid fundament for større prosjekter.
Vil du lære å bruke moduler i praksis med veiledning og oppgaver? Python for nybegynnere dekker innebygde moduler, egne moduler og pip-installasjon gjennom praktiske videoer.



