In het voorbeeld van Louiseโs Spotify playlist heb je kennisgemaakt met een klasse.
โ Klasse in Python
Een klasse in Python is een zelfgedefinieerde datastructuur die de organisatie van gegevens beschrijft. Een klasse heeft:
- een naam
- attributen (variabelen)
- methodes (functies)
In Python ziet een klasse er als volgt uit:
class Naam:
def __init__(self, parameters):
attributen
๐ Voorbeeld - Spotify playlist onder de loep
De Spotify playlist is een voorbeeld van een klasse:
- De naam is
Spotify
- De klasse heeft drie attributen:
afspeellijst
,huidig_liedje
enhuidige_index
- Er is รฉรฉn methode
volgende()
class Spotify: def __init__(self,liedjes): self.afspeellijst = liedjes self.huidige_index = 0 self.huidig_liedje = liedjes[self.huidige_index] def volgende(self): volgende_index = self.huidige_index + 1 # controleer of de hele lijst doorlopen is if volgende_index == len(self.afspeellijst): # als de hele lijst doorlopen is, begin je terug van vooraf aan self.huidige_index = 0 else: # als de hele lijst nog niet doorlopen is, dan wordt de huidige index een cijfertje hoger self.huidige_index = volgende_index self.huidig_liedje = self.afspeellijst[self.huidige_index]
__init__()
De functie __init__()
is steeds aanwezig en zorgt voor de initialisatie: alle attributen krijgen een beginwaarde. De parameters van de __init__()
-functie kunnen gebruikt worden voor die initialisatie. Bijvoorbeeld, liedjes
.
De naam van een klasse kunnen we zelf kiezen. We laten deze naam steeds beginnen met een hoofdletter. Net zoals bij variabelen en functies is het aangewezen om de naam zodanig te kiezen dat het duidelijk is wat de klasse voorstelt. Bijvoorbeeld, Spotify
.
De attributen zijn de variabelen in de klasse. Bijvoorbeeld, afspeellijst
.
De methodes zijn de functies in de klasse, die aangeven hoe de attributen in de klasse gemanipuleerd kunnen worden. Bijvoorbeeld, volgende()
.
๐ป Programmeeroefening - Huisdieren
We willen een klein stukje code schrijven dat een huisdier moddeleert. Elk huisdier heeft een naam.
Kopieer en plak de code in de editor hieronder, pas de
__init__()
-functie aan zodat de parameternaam
aan het attribuutnaam
toegekend wordt. Voer daarna de code uit om het huisdier โFluffyโ aan te maken en diens naam op te vragen.class Huisdier: def __init__(self, naam): # HIER AANPASSEN # Dit hoort niet meer bij de klasse. mijn_dier = Huisdier("Fluffy") print(mijn_dier.naam)