Klassen in Python
Dit artikel legt klassen in Python uit.
YouTube Video
Klassen in Python
In Python is een klasse een centraal concept in objectgeoriënteerd programmeren (OOP) dat een sjabloon definieert voor het organiseren van gegevens en de methoden die op die gegevens werken. Met klassen kun je datastructuren maken en gedrag met betrekking tot de gegevens kapselen.
Basis van Klassen
Om een klasse in Python te definiëren, gebruik je het trefwoord class
. Hieronder staat de structuur en het gebruik van een eenvoudige klasse.
1# Class definition
2class MyClass:
3 # Constructor (initialization method)
4 def __init__(self, attribute):
5 self.attribute = attribute
6
7 # Method (member function)
8 def display_attribute(self):
9 print(self.attribute)
10
11# Creating an object
12obj = MyClass("Hello, World!")
13obj.display_attribute() # Outputs "Hello, World!"
Onderdelen van een Klasse
Attributen
Attributen van een klasse verwijzen naar de gegevens of staat die door een object worden vastgehouden. In het bovenstaande voorbeeld is attribute
een instantieattribuut.
Methoden
Methoden zijn functies die binnen een klasse zijn gedefinieerd en operaties op een object specificeren. Bijvoorbeeld de hierboven getoonde methode display_attribute
.
Constructor
De methode __init__
wordt de constructor genoemd en wordt uitgevoerd wanneer een object wordt aangemaakt. Het initialiseert de instantie.
Objecten maken en beheren
Het maken van een object uit een klasse staat bekend als instantiering. In het bovenstaande voorbeeld wordt MyClass
geïnstantieerd om obj
te maken. Met het aangemaakte object kun je methoden aanroepen die in de klasse zijn gedefinieerd of toegang krijgen tot attributen.
Overerving
Klassen ondersteunen overerving, waardoor attributen en methoden kunnen worden geërfd van andere klassen (ouder- of basisklassen). Een nieuwe klasse (subklasse) kan zijn ouderklasse uitbreiden om functionaliteit toe te voegen.
1# Parent class
2class Animal:
3 def speak(self):
4 print("Some sound")
5
6# Child class
7class Dog(Animal):
8 def speak(self):
9 print("Bark!")
10
11# Instantiation and method call
12dog = Dog()
13dog.speak() # Outputs "Bark!"
Op deze manier zijn Python-klassen een krachtig middel om gegevens en procedures logisch te associëren. Andere elementen van objectgeoriënteerd programmeren, zoals polymorfisme en encapsulatie, kunnen ook worden geïmplementeerd via klassen.
Modules in Python
Een module in Python is een eenheid voor het organiseren en hergebruiken van Python-code. Een module is een bestand dat Python-code bevat, en de functies, klassen, variabelen, enz. erin kunnen worden geïmporteerd en gebruikt door andere Python-code. Door modules te gebruiken wordt de herbruikbaarheid van code verbeterd, en worden programma's beter georganiseerd en makkelijker te onderhouden.
Een module maken
Om een module te maken hoef je alleen maar een bestand met Python-code op te slaan. Bijvoorbeeld, door een bestand met de volgende inhoud op te slaan als my_module.py
, wordt het een module.
1def greet(name):
2 return f"Hello, {name}!"
3
4pi = 3.14159
Een module importeren
Om een gemaakte module in een ander bestand te gebruiken, gebruik je de import
-verklaring.
1import my_module
2
3# Using functions and variables from my_module
4print(my_module.greet("Alice"))
5print(my_module.pi)
Je kunt ook specifieke functies of variabelen importeren.
1from my_module import greet, pi
2
3# Names can be used directly.
4print(greet("Bob"))
5print(pi)
Module-aliasen
Je kunt een alias toewijzen bij het importeren van een module. Dit maakt het makkelijker om toegang te krijgen tot de module tijdens het schrijven van code.
1import my_module as mm
2
3print(mm.greet("Charlie"))
4print(mm.pi)
Standaardbibliotheekmodules
Python biedt een breed scala aan ingebouwde standaardbibliotheekmodules. Je kunt modules zoals de math
module of de os
module importeren en gebruiken.
1import math
2
3print(math.sqrt(16))
4print(math.pi)
Pakketten
Een pakket is een verzameling van meerdere modules georganiseerd in een directorystructuur. Het gebruik van pakketten zorgt voor een betere organisatie van meer code en ondersteunt grootschalige applicaties.
Door gebruik te maken van modules en pakketten in Python kun je efficiëntere en beter georganiseerde programma's schrijven.
Je kunt het bovenstaande artikel volgen met Visual Studio Code op ons YouTube-kanaal. Bekijk ook het YouTube-kanaal.