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)