python – 如何创建对象并向其添加属性?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何创建对象并向其添加属性?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含812字,纯文字阅读大概需要2分钟。
内容图文
![python – 如何创建对象并向其添加属性?](/upload/InfoBanner/zyjiaocheng/711/0ecfa956de394c66af50e4ab36bd71b9.jpg)
我想在Python中创建一个动态对象(在另一个对象内),然后为其添加属性.
我试过了:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
但这没用.
有任何想法吗?
编辑:
我从for循环设置属性,循环遍历值列表,例如
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
在上面的例子中,我会得到obj.a.attr1,obj.a.attr2,obj.a.attr3.
我使用了setattr函数,因为我不知道如何从for循环中执行obj.a.NAME.
如何根据上面示例中的p值设置属性?
解决方法:
您可以使用我古老的Bunch配方,但如果您不想制作“束类”,Python中已经存在一个非常简单的配方 – 所有函数都可以具有任意属性(包括lambda函数).所以,以下工作:
obj = someobject
obj.a = lambda: None
setattr(obj.a, 'somefield', 'somevalue')
与古老的束配方相比,失去清晰度是否合适,是一种风格决定,我当然会留给你.
内容总结
以上是互联网集市为您收集整理的python – 如何创建对象并向其添加属性?全部内容,希望文章能够帮你解决python – 如何创建对象并向其添加属性?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。