Ho una classe come la seguente:Python: l'accesso alle proprietà classe da stringa
class User:
def __init__(self):
self.data = []
self.other_data = []
def doSomething(self, source):
// if source = 'other_data' how to access self.other_data
voglio passare una stringa per la variabile sorgente in doSomething
e accedere al membro della classe con lo stesso nome.
ho cercato getattr
che funziona solo sulle funzioni (da quello che posso dire), oltre ad avere User
estendono dict
e utilizzando self.__getitem__
, ma che non funziona nemmeno. Qual è il modo migliore per farlo?
(realizzando questo è un vecchio filo). Ero confuso/dimentico sempre questo a causa di dicts. Se voglio ottenere un valore da un dict, posso dire: myDict.get ('keyy'), quindi mi aspetto che gli attributi funzionino allo stesso modo: myObject.getattr ('attr_name'). Ma invece prendono l'oggetto come primo argomento ... ok, ma l'apparente incoerenza è il motivo per cui ho avuto problemi. –