加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

将动态属性添加到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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读