Débutant
🧠 Fondamentaux
10 XP
0 personnes ont réussi
Decouvrir @property
En Python, par convention, un attribut qui commence par un underscore (comme _age) est considere comme prive. Ca veut dire qu'on ne devrait pas y acceder directement depuis l'exterieur de la classe.
Mais alors comment lire la valeur ? C'est la que @property entre en jeu. C'est un decorateur qui transforme une méthode en attribut en lecture seule.
class Personne: def __init__(self, nom): self._nom = nom
@property def nom(self): return self._nom
Apres ca, tu peux écrire p.nom au lieu de p._nom, et c'est en lecture seule : p.nom = 'autre' leve une erreur.
Écris une classe Cercle avec un attribut prive _rayon et une property rayon qui le renvoie. Ajoute aussi une property aire qui calcule et renvoie l'aire du cercle (pi * rayon au carre). Utilise 3.14159 pour pi.
Exemple : c = Cercle(5) c.rayon renvoie 5 c.aire renvoie 78.53975
Tests (3/4)
Rayon
assert Cercle(5).rayon == 5
Aire
c = Cercle(5)
assert abs(c.aire - 78.53975) < 0.001