53 votes

Initialisation/déclaration d'attributs en classe Python : où les placer ?

Je me demandais quelle était la meilleure pratique pour initialiser les attributs d'objet en Python, dans le corps de la classe ou à l'intérieur de la fonction __init__ ?

c'est à dire

 class A(object):
    foo = None

vs

 class A(object):
   def __init__(self):
       self.foo = None

2voto

Mettre des attributs d'objet sur la classe est inutile, et peut-être même contre-productif ; ils ne sont jamais nécessaires sur la classe elle-même, et si l'objet lié est modifiable, il ne fait presque jamais ce que vous voulez de toute façon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X