Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Property basique
Une property permet de controler l'acces a un attribut. C'est comme un vigile a l'entrée d'un batiment : chaque fois que quelqu'un entre ou sort, le vigile peut vérifier ou transformer les données.
Avec @property, tu créés un getter (lecture). Avec @nom.setter, tu créés un setter (écriture). L'avantage : de l'exterieur, ca ressemble a un attribut normal, mais en coulisse du code s'execute.
Exemple :
class Email: def __init__(self, adresse): self.adresse = adresse
e = Email('Alice@Mail.COM') print(e.adresse) # alice@mail.com
Crée une classe Personne avec un nom. Le nom doit toujours etre stocke en format titre (première lettre de chaque mot en majuscule). Utilise @property pour le getter et le setter.
Exemple : p = Personne('alice dupont') print(p.nom) # Alice Dupont p.nom = 'bob martin' print(p.nom) # Bob Martin
Tests (2/4)
Titre auto
p = Personne('alice dupont')
assert p.nom == 'Alice Dupont'
Modification
p = Personne('bob')
p.nom = 'charlie'
assert p.nom == 'Charlie'
+ 0 tests cachés
Indices (3 disponibles)
Solution officielle
class Personne:
def __init__(self, nom):
self.nom = nom
@property
def nom(self):
return self._nom
@nom.setter
def nom(self, valeur):
self._nom = valeur.title()