Bonjour,
Je pensais pouvoir modifier les attributs d'une classe par le biais d'un dictionnaire, mais jusqu'ici sans succès...
-----------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 class SensorSeries: def __init__(self,name): self.name = name self.units = 'units' self.ylim = (0,100) self.ylabel = 'Y label' self.title = name self.data = [] dico_1 = {"units":"Nouvelle unité","ylim":(0,675),"ylabel":"Nouveau label","title":"Nouveau titre"} serie_1 = SensorSeries('Initial name') print("-----------------------------------") for dico_key, dico_value in dico_1.items(): print (f'dico_key :{dico_key} ; dico_value :{dico_value}')# j'extrais bien les valeurs désirées du dictionnaire serie_1.dico_key = dico_value # <--- mais ici ça ne fonctionne pas comme je l'imaginais... je ne parviens pas à changer les attributs de serie_1 print("-----------------------------------") print (serie_1.name) print (serie_1.units) print (serie_1.ylim) print (serie_1.ylabel) print (serie_1.title)
dico_key :units ; dico_value :Nouvelle unité
dico_key :ylim ; dico_value :(0, 675)
dico_key :ylabel ; dico_value :Nouveau label
dico_key :title ; dico_value :Nouveau titre
-----------------------------------
Initial name
units
(0, 100)
Y label
Initial name
Peut-on faire référence à un attribut de classe de façon indirecte, par le biais d'une variable ? (ici dico_key)
Partager