Junior — Middle
Leg uit wat het verschil is tussen self en cls in de context van klasse-methoden
sobes.tech AI
Antwoord van AI
In Python zijn self en cls conventies voor de eerste parameter van methoden, maar ze hebben verschillende doeleinden:
selfis een verwijzing naar een specifiek exemplaar van de klasse. Het wordt gebruikt in gewone instantie-methoden om toegang te krijgen tot de attributen en methoden van dat object.clsis een verwijzing naar de klasse zelf, niet naar een instantie. Het wordt gebruikt in klasse-methoden (aangeduid met de decorateur@classmethod) om met de klasse in zijn geheel te werken, bijvoorbeeld om nieuwe instanties te maken of eigenschappen van de klasse te wijzigen.
Voorbeeld:
class MyClass:
class_var = 0
def __init__(self, value):
self.instance_var = value
def instance_method(self):
print(f'Instantie variabele: {self.instance_var}')
@classmethod
def class_method(cls):
print(f'Klasse variabele: {cls.class_var}')
obj = MyClass(10)
obj.instance_method() # roept een instantie-methode aan
MyClass.class_method() # roept een klasse-methode aan