J'écris une classe python pour stocker des données, puis une autre classe crée une instance de cette classe pour imprimer différentes variables. Certaines variables de classe nécessitent beaucoup de formatage, ce qui peut prendre plusieurs lignes de code pour l'obtenir dans son "état final".Variables de classe Python ou @property
Est-ce une mauvaise pratique d'accéder simplement aux variables de l'extérieur de la classe avec cette structure?
class Data():
def __init__(self):
self.data = "data"
Ou est-il préférable d'utiliser une méthode @property pour accéder aux variables?
class Data:
@property
def data(self):
return "data"
La prise en charge des propriétés par le langage est telle que vous n'avez jamais à prendre cette décision. Vous commencez avec les attributs normaux et utilisez les propriétés quand elles ont du sens. –
@ IgnacioVazquez-Abrams vous avez un point là ... Mais c'est un peu plus difficile à voir en python car toutes les propriétés sont accessibles par défaut. –
Commencez par un simple accès aux attributs. Plus tard, si vous découvrez que vous devez contrôler l'accès, faites-en une propriété, mais seulement ensuite. C'est tout le * point *. –