Variables de classe et variables d'instance pour les classes à instance unique
Lors de la création de classes Python avec une seule instance requise, vous pouvez être confronté au dilemme de l'endroit où stocker les attributs de classe : dans des variables de classe ou des variables d'instance. Les deux options ont leurs avantages et leurs inconvénients.
Variables d'instance
Les variables d'instance sont spécifiques à chaque instance d'une classe. Ils sont définis dans la méthode __init__, comme dans le deuxième exemple de code fourni :
class MyController(Controller): def __init__(self): self.path = "something/" self.children = [AController, BController] def action(self, request): pass
Avantages :
Inconvénients :
Variables de classe
Les variables de classe, en revanche, sont partagés entre toutes les instances d’une classe. Ils sont définis en dehors de la méthode __init__, comme dans le premier exemple de code fourni :
class MyController(Controller): path = "something/" children = [AController, BController] def action(self, request): pass
Avantages :
Inconvénients :
Recommandation
Si vous savez avec certitude que vous n'aurez qu'une seule instance d'une classe, il est généralement recommandé d'utiliser des variables d'instance. Cela permet un accès légèrement plus rapide et élimine toute confusion potentielle ou problème lié aux attributs en double.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!