将动态属性添加到python对象
发布时间:2020-12-20 12:37:22 所属栏目:Python 来源:网络整理
导读:site = object()mydict = {'name': 'My Site','location': 'Zhengjiang'}for key,value in mydict.iteritems(): setattr(site,key,value)print site.a # it doesn't work 上面的代码不起作用.有什么建议吗? 解决方法 用另一个dict填充另一个dict的最简单方
site = object() mydict = {'name': 'My Site','location': 'Zhengjiang'} for key,value in mydict.iteritems(): setattr(site,key,value) print site.a # it doesn't work 上面的代码不起作用.有什么建议吗? 解决方法
用另一个dict填充另一个dict的最简单方法是
the
update() method,所以如果扩展对象以确保你的对象有一个__dict__,你可以试试这样的东西:
>>> class Site(object): ... pass ... >>> site = Site() >>> site.__dict__.update(dict) >>> site.a 或者甚至可能: >>> class Site(object): ... def __init__(self,dict): ... self.__dict__.update(dict) ... >>> site = Site(dict) >>> site.a (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |