Vad är en modul?
En modul i Python är en fil som innehåller Python-kod – t.ex. funktioner, variabler eller klasser – som du kan använda i ett annat program. På så sätt slipper du skriva om kod du redan gjort.
Alla .py-filer kan fungera som en modul, även sådana du själv skapar.
Varför använda moduler?
Fördelar:
- Du kan återanvända kod i flera program.
- Koden blir mer överskådlig och lätt att felsöka.
- Flera kan arbeta parallellt i ett större projekt.
- Du håller isär huvudprogram (användarflöde) och logik (funktioner och datahantering).
Exempel: Skapa och använda en egen modul
1. Skapa en modul
Skapa en fil som heter matematik.py:
# matematik.py
def addera(x, y):
return x + y
def multiplicera(x, y):
return x * y
2. Använd den i ett huvudprogram
Skapa en ny fil som heter huvudprogram.py:
# huvudprogram.py
import matematik #importera din modul (.py-fil)
tal1 = int(input("Ange första talet: "))
tal2 = int(input("Ange andra talet: "))
print("Summan är:", matematik.addera(tal1, tal2))
print("Produkten är:", matematik.multiplicera(tal1, tal2))
När du kör huvudprogram.py hämtas funktionerna från matematik.py.
Alternativ: Importera bara en funktion
from matematik import addera
print(addera(2, 5)) # Du behöver inte skriva matematik.addera()Viktigt: if __name__ == "__main__"
När du importerar en modul i Python körs all kod som ligger utanför funktioner. För att undvika att viss kod körs när du importerar, använder man:
# matematik.py
def addera(x, y):
return x + y
def multiplicera(x, y):
return x * y
if __name__ == "__main__":
print("Testar funktionerna:")
print(addera(3, 2))
Nu körs testkoden endast när matematik.py körs direkt – inte när den importeras.
Färdiga moduler
Förutom att skapa egna moduler så finns det färdiga moduler i Python som du kan importera. Vi nämnde några tidigare och var vi kan hitta moduler till Python.
| Modul | Beskrivning | Exempel |
|---|---|---|
random | Slumptal | random.randint(1, 10) |
math | Avancerade mattefunktioner | math.sqrt(25) |
time | Pauser och tidshantering | time.sleep(1) |
os | Fil- och mapphantering | os.listdir() |
Du kan utforska fler moduler här:
https://docs.python.org/3/py-modindex.html