Je hebt al gezien dat elke methode in een klasse een parameter self
heeft. Deze parameter is nodig om aan methodes en attributen van de klasse te kunnen.
self.afspeellijst
.self.volgende()
.louises_lijst.afspeellijst
of louises_lijst.volgende()
.❗
self
buiten de klasseMerk op dat we
self
niet meer gebruiken buiten de klasse.Let wel goed op de vorm:
louises_lijst
is geen parameter van de methode. We roepen de methodevolgende()
op oplouises_lijst
.
Waarom heet self self?
Het is een gewoonte om in klassen de eerste parameter van een functie steeds
self
te noemen. Je kan dus net zo goed een ander woord kiezen. Bijvoorbeeld,lol
. Vergelijk onderstaande code eens met de eerdere stukken code in dit hoofdstuk.class Spotify: def __init__(lol,liedjes): lol.afspeellijst = liedjes lol.huidige_index = 0 lol.huidig_liedje = liedjes[lol.huidige_index] def volgende(lol): volgende_index = lol.huidige_index + 1 # controleer of de hele lijst doorlopen is if volgende_index == len(lol.afspeellijst): # als de hele lijst doorlopen is, begin je terug van vooraf aan lol.huidige_index = 0 else: # als de hele lijst nog niet doorlopen is, dan wordt de huidige index een cijfertje hoger lol.huidige_index = volgende_index lol.huidig_liedje = lol.afspeellijst[lol.huidige_index]
Toch is het aangewezen om altijd
self
te gebruiken, omdat dit de standaard is in Python. Het maakt dat je code ook door andere Pythonprogrammeurs (en jezelf) vlot gelezen kan worden.