Exercices POO Validation avec property
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Validation avec property

La vraie puissance des properties, c'est la validation. Le setter peut refuser une valeur invalide en levant une exception.

Imagine que tu remplis un formulaire en ligne : si tu mets un age de 500, le site refuse. C'est exactement ce que fait un setter avec validation.

Exemple :

class Pourcentage:
def __init__(self, valeur):
self.valeur = valeur

@property
def valeur(self):
return self._valeur

@valeur.setter
def valeur(self, v):
if not (0 <= v <= 100):
raise ValueError('Pourcentage entre 0 et 100')
self._valeur = v

p = Pourcentage(50) # OK
p = Pourcentage(150) # ValueError !

Crée une classe Etudiant(nom, note) ou note est validee : elle doit etre entre 0 et 20. Si la valeur est hors bornes, leve ValueError.

Exemple :
e = Etudiant('Alice', 15) # OK
e = Etudiant('Bob', 25) # ValueError !
e.note = -1 # ValueError !

Tests (2/4)

Note valide
e = Etudiant('Alice', 15)
assert e.note == 15
Note invalide
try:
    Etudiant('Bob', 25)
    assert False
except ValueError:
    assert True

+ 0 tests cachés

Indices (3 disponibles)

solution.py