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 buiten de klasse

Merk 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 methode volgende() op op louises_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.