Junior — Middle
Leg het concept van metaklasse uit en de rol ervan bij het definiëren van klassen in Python
sobes.tech AI
Antwoord van AI
In Python is een metaklasse een klasse die andere klassen creëert. Simpel gezegd, een klasse is een object en een metaklasse is "een klasse voor klassen".
Standaard worden alle klassen in Python gemaakt met behulp van de metaklasse type. De metaklasse bepaalt precies hoe de klasse wordt gemaakt, welke attributen en methoden deze zal hebben.
Rol van de metaklasse:
- Het proces van het maken van een klasse beheren (bijvoorbeeld automatisch methoden toevoegen of attributen controleren).
- Het gedrag van klassen aanpassen tijdens hun definitie.
Voorbeeld van het gebruik van een metaklasse:
class Meta(type):
def __new__(cls, name, bases, dct):
dct['greet'] = lambda self: f"Hallo van {name}!"
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=Meta):
pass
obj = MyClass()
print(obj.greet()) # Zal afdrukken: Hallo van {name}!
Hier voegt de metaklasse de methode greet toe aan alle klassen die het gebruiken.