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:
selfis een traditionele, maar niet verplichte naam. Je kunt elke andere naam gebruiken, maarselfis 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) isselfniet 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.