есть также другой способ сделать это, просматривая элементы в d. это не то же самое предположение, что они будут храниться в c.__dict__
, что не всегда верно.
d = {'bar': 456}
for key,value in d.items():
setattr(c,key,value)
или вы можете написать update
метод как часть MyClass
, чтобы c.update(d)
работал так, как вы ожидали.
def update(self,newdata):
for key,value in newdata.items():
setattr(self,key,value)
проверить помощь для setattr
setattr(...)
setattr(object, name, value)
Set a named attribute on an object; setattr(x, 'y', v) is equivalent to
''x.y = v''.