Lorsque j'écris une classe en python, la plupart du temps, j'ai hâte de définir les variables que j'utilise, en tant que propriétés de l'objet. Existe-t-il des règles ou des directives générales sur les variables qui devraient être utilisées en tant qu'attribut de classe/instance et lesquelles ne devraient pas l'être?Classes en python, comment définir un attribut
par exemple:
class simple(object):
def __init(self):
a=2
b=3
return a*b
class simple(object):
def __init(self):
self.a=2
self.b=3
return a*b
Bien que je comprenne complètement les attributs doivent être une propriété de l'objet. C'est simple à comprendre quand la déclaration de classe est simple mais comme le programme va de plus en plus longtemps et qu'il y a beaucoup d'endroits où l'échange de données entre les différents modules doit être fait, je deviens confus où je devrais utiliser a/b ou self.a /self.b. Y a-t-il des directives pour cela?
Les «__init» ne devraient-ils pas être «__init__»? – ricochet1k
Une règle de base que j'aime vraiment est: Utilisez la plus petite portée que vous pouvez obtenir avec. Les variables locales ont une portée beaucoup plus petite que les attributs, donc si vous n'avez pas de cas d'utilisation convaincant, c'est un attribut ... – delnan
@delnan: belle suggestion –