Junior — Middle
Explique les différences entre self et cls dans le contexte des méthodes de classe
sobes.tech IA
Réponse de l'IA
En Python, self et cls sont des conventions pour le premier paramètre des méthodes, mais ils ont des usages différents :
selfest une référence à une instance spécifique de la classe. Il est utilisé dans les méthodes d'instance classiques pour accéder aux attributs et méthodes de cet objet.clsest une référence à la classe elle-même, pas à une instance. Il est utilisé dans les méthodes de classe (marquées avec le décorateur@classmethod) pour travailler avec la classe dans son ensemble, par exemple, créer de nouvelles instances ou modifier les propriétés de la classe.
Exemple :
class MyClass:
class_var = 0
def __init__(self, value):
self.instance_var = value
def instance_method(self):
print(f'Variable d''instance : {self.instance_var}')
@classmethod
def class_method(cls):
print(f'Variable de classe : {cls.class_var}')
obj = MyClass(10)
obj.instance_method() # appelle une méthode d'instance
MyClass.class_method() # appelle une méthode de classe