Sobes.tech
Junior

Wat is self in Python?

sobes.tech AI

Antwoord van AI

self in Python is het eerste argument van een instantie-methode van een klasse. Het vertegenwoordigt de instantie van het object zelf, waarmee de methode is aangeroepen.

Belangrijke kenmerken van self:

  • Verwijzing naar de instantie: Maakt het mogelijk om toegang te krijgen tot attributen en andere methoden van die specifieke instantie.
  • Naamgevingsconventie: self is een traditionele, maar niet verplichte naam. Je kunt elke andere naam gebruiken, maar self is de algemeen aanvaarde standaard die de code leesbaarder maakt.
  • Wordt automatisch doorgegeven: Bij het aanroepen van een instantie-methode geeft Python automatisch een verwijzing naar de oproepende instantie door als eerste argument (self). Het is niet nodig om dit bij de aanroep te definiëren.
  • Ontbreekt in statische methoden en klasse-methoden: In statische methoden (@staticmethod) is self niet aanwezig, omdat ze niet gekoppeld zijn aan een specifieke instantie. In klasse-methoden (@classmethod) is het eerste argument een verwijzing naar de klasse zelf (cls), niet naar een instantie.

Voorbeeld van gebruik:

class MyClass:
    def __init__(self, value):
        # Ken de meegegeven waarde toe aan het instantie-attribuut 'value'
        self.value = value

    def print_value(self):
        # Gebruik 'self' om toegang te krijgen tot het attribuut 'value' van deze instantie
        print(f"Value is: {self.value}")

# Maak een instantie van de klasse
obj = MyClass(10)

# Roep de instantie-methode aan. Python geeft automatisch 'obj' door als 'self'
obj.print_value()

In dit voorbeeld verwijst self binnen de methoden __init__ en print_value naar het object obj. Zonder self zou het niet mogelijk zijn om toegang te krijgen tot het attribuut value, dat specifiek bij deze instantie van MyClass hoort.