Als je je bezighoudt met Python, zul je snel in contact komen met het concept van modules. Deze stellen je in staat om je code te structureren en herbruikbare functies te creëren. Het is niet alleen goed voor de organisatie, maar verbetert ook de efficiëntie van je programmering. In deze tutorial leer je hoe je modules in Python kunt maken en importeren. We kijken naar hoe je met een eigen bestand werkt om verschillende wiskundige functies beschikbaar te stellen en deze vervolgens in een ander Python-script te gebruiken.
Belangrijkste inzichten
- Modules zijn gewoon Python-bestanden die verschillende functies bevatten.
- Het importeren van modules maakt een betere structurering van je code mogelijk.
- Je kunt modules onder verschillende namen importeren of alleen specifieke functies importeren.
- Door aliasnamen en selectieve imports te gebruiken, voorkom je naamsconflicten.
Stapsgewijze handleiding
Module maken
Om een module in Python te maken, heb je eerst een bestand nodig met de bijbehorende functies. In ons voorbeeld creëren we een bestand genaamd arithmetik.py, dat een aantal basis wiskundige functies zoals optelling, aftrekking en vermenigvuldiging bevat. Je kunt het bestand in elke teksteditor aanmaken.

In arithmetik.py definieer je de afzonderlijke functies:
def aftrekken(a, b): return a - b
def vermenigvuldigen(a, b): return a * b
Hier hebben we drie eenvoudige functies die je later in je hoofdscript zult gebruiken.
Module importeren
Nu je je module arithmetik.py hebt gemaakt, kun je deze in een ander script gebruiken. Maak een tweede bestand genaamd rekenmachine.py, dat zich in dezelfde map bevindt als je module.

In rekenmachine.py importeer je de module met het volgende commando:
Je kunt nu toegang krijgen tot de functies van je module. Definieer enkele variabelen om dit te demonstreren:
Je kunt nu bijvoorbeeld de optelfunctie aanroepen en het resultaat afdrukken:
Deze regel geeft het resultaat van de optelling van a en b weer. Als je het script nu uitvoert, zie je dat de uitvoer "17" is.
Gebruik van aliassen
Als je de module onder een kortere naam wilt importeren, is dat ook mogelijk. Zo gaat het:
Nu kun je de functies met de alias ar aanroepen, wat je code iets korter maakt:
Ondanks de andere naam werkt alles zoals gebruikelijk. Het is gewoon een kwestie van voorkeur.

Selectief importeren van functies
Soms heb je niet alle functies van een module nodig. Je kunt kiezen welke functies je wilt importeren. Gebruik hiervoor de volgende syntaxis:
Nu is de functie optellen direct beschikbaar, zonder dat je de modulenaam hoeft op te geven.
Als je optellen(a, b) aanroept, zal de autocompletion het direct aanbieden, zonder andere functies erbij te betrekken.
Oplossen van naamsconflicten
Een ander voordeel van aliassen en selectieve import is de mogelijkheid om naamsconflicten te vermijden. Als je een module hebt die dezelfde naam heeft als een externe bibliotheek, kun je alsnog de functies gebruiken.
Als je module arithmetik.py dezelfde naam heeft als de wiskundemodule math.py, zou je een conflict krijgen. Met aliasing of selectieve import kun je dit echter omzeilen.

Afronding over modules en imports
Zoals je inmiddels hebt gezien, zijn modules een centraal onderdeel van de Python-programmering. Ze helpen je je code modulair en herbruikbaar te maken. Het importeren en de verschillende importmethoden geven je flexibiliteit en controle over de toegang tot functies in je scripts.
Samenvatting - Basisprincipes van het gebruik en importeren van Python-modules
In deze tutorial heb je geleerd hoe je eenvoudige Python-modules maakt, importeert en gebruikt. Het belang van de structurering van je code wordt duidelijk door modules en de verschillende importmogelijkheden. Zo maak je je programmering veel effectiever.
Veelgestelde vragen
Wat is een module in Python?Een module is een Python-bestand dat functies, klassen en variabelen definieert die in andere Python-scripts kunnen worden gebruikt.
Hoe importeer ik een module?Je kunt een bestand importeren door het commando import modulenaam te gebruiken.
Wat is het verschil tussen import module en from module import functie?De eerste opdracht importeert de hele module, terwijl de tweede opdracht alleen de specifieke functie importeert.
Hoe kan ik naamsconflicten vermijden?Je kunt aliassen gebruiken of selectief functies importeren om conflicten met andere modules te omzeilen.