Junior — Middle
Expliquez le concept de métaclasse et son rôle dans la définition des classes en Python
sobes.tech IA
Réponse de l'IA
Une métaclasse en Python est une classe qui crée d'autres classes. En termes simples, une classe est un objet, et une métaclasse est une "classe pour les classes".
Par défaut, toutes les classes en Python sont créées à l'aide de la métaclasse type. La métaclasse définit comment la classe est créée, quels attributs et méthodes elle aura.
Rôle de la métaclasse :
- Gérer le processus de création de la classe (par exemple, ajouter automatiquement des méthodes ou vérifier des attributs).
- Permettre de modifier le comportement des classes lors de leur définition.
Exemple d'utilisation d'une métaclasse :
class Meta(type):
def __new__(cls, name, bases, dct):
dct['greet'] = lambda self: f"Bonjour de {name}!"
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=Meta):
pass
obj = MyClass()
print(obj.greet()) # Affichera : Bonjour de MyClass!
Ici, la métaclasse ajoute la méthode greet à toutes les classes qui l'utilisent.