Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Attribut de classe
Jusqu'ici, on a vu des attributs d'instance (propres a chaque objet, definis avec self.attribut). Mais il existe aussi des attributs de classe : ils sont partages par toutes les instances.
Un attribut de classe se definit directement dans le corps de la classe, en dehors de toute méthode :
class Personne: nombre_instances = 0
def __init__(self, nom): Personne.nombre_instances += 1 self.nom = nom
Attention : on accede a l'attribut de classe via le nom de la classe (Personne.nombre_instances), pas via self. Sinon on risque de créer un attribut d'instance qui masque l'attribut de classe.
Crée une classe Article avec un attribut de classe tva_taux qui vaut 0.20 (20%). Le __init__ prend un nom et un prix_ht. Ajoute une méthode prix_ttc() qui renvoie le prix TTC (prix_ht * (1 + tva_taux)).
Exemple : a = Article('Stylo', 10) a.prix_ttc() renvoie 12.0 Article.tva_taux = 0.055 a.prix_ttc() renvoie 10.55