首页>Python>如何创建一个属性,其名称在一个字符串?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了首页>Python>如何创建一个属性,其名称在一个字符串?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含776字,纯文字阅读大概需要2分钟。
内容图文
我想使用Python在类中创建一个属性,但在字符串中具有它的名称.通常您会:
blah = property(get_blah, set_blah, del_blah, "bleh blih")
其中已相应定义了get_,set_和del_blah.我试图对变量中的属性名称执行相同的操作,如下所示:
setattr(self, "blah", property(self.get_blah, self.set_blah, self.del_blah, "bleh blih"))
但这是行不通的.第一种情况是返回属性的值,第二种情况是返回属性,即< 0xbb1aa0>的属性对象.我应该如何定义它才能起作用?
解决方法:
就像我要说的那样,不同之处在于,在第一个版本中,您将classes属性等更改为property的结果,而在第二个版本中,将其设置为实例的属性(这是不同的!).
这个版本怎么样:
setattr(MyClass, "blah", property(self.get_blah, self.set_blah,
self.del_blah, "bleh blih"))
您也可以这样做:
setattr(type(self), "blah", property(self.get_blah, self.set_blah,
self.del_blah, "bleh blih"))
内容总结
以上是互联网集市为您收集整理的首页>Python>如何创建一个属性,其名称在一个字符串?全部内容,希望文章能够帮你解决首页>Python>如何创建一个属性,其名称在一个字符串?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。