Exercices Architecture & Patterns Ajouter un attribut a la volee
🎉

Bravo!

Débutant 🧠 Fondamentaux 10 XP 0 personnes ont réussi

Ajouter un attribut a la volee

En Python, tu peux ajouter des attributs a un objet apres sa création. C'est la nature dynamique du langage. Tu n'es pas oblige de tout déclarer dans __init__.

Par exemple :
class Boite:
pass

b = Boite()
b.contenu = 'bijoux'
b.contenu donne 'bijoux'

Tu peux aussi utiliser la fonction sétattr(objet, nom, valeur) pour faire la meme chose de maniere programmatique. C'est utile quand le nom de l'attribut est dans une variable :
nom_attr = 'couleur'
sétattr(b, nom_attr, 'rouge')
b.couleur donne 'rouge'

Écris une fonction ajouter_attributs(obj, attributs) qui prend un objet et un dictionnaire d'attributs a ajouter. La fonction ajoute chaque cle/valeur du dictionnaire comme attribut de l'objet, puis renvoie l'objet modifie.

Exemple :
class Vide:
pass
v = Vide()
ajouter_attributs(v, {'nom': 'Alice', 'age': 30})
v.nom donne 'Alice'
v.age donne 30

Tests (4/4)

Ajouter deux attributs
class V:
    pass
v = V()
ajouter_attributs(v, {'x': 1, 'y': 2})
assert v.x == 1 and v.y == 2
Ajouter un seul attribut
class V:
    pass
v = V()
ajouter_attributs(v, {'nom': 'test'})
assert v.nom == 'test'
Renvoie l'objet
class V:
    pass
v = V()
résultat = ajouter_attributs(v, {'a': 1})
assert résultat is v
Dictionnaire vide
class V:
    pass
v = V()
ajouter_attributs(v, {})
assert v.__dict__ == {}

Indices (3 disponibles)

solution.py