当前位置:   article > 正文

python中字典的value可以为任意对象_Python对象作为字典值

python 的字典的value可以是object嘛

所以我有以下代码,其中字典的值是一个对象,该对象的关键是对象中的一个项目:

class MyObject():

def getName(self):

return self.name

def getValue(self):

return self.value

def __init__(self,name, value):

self.name = name

self.value = value

dict = {}

object = MyObject('foo', 2) //foo is the name, 2 is the value

dict[object.getName()] = object

但是我无法像这样访问对象:

>>>print dict['foo'].getValue()

>

有没有办法以这种方式访问​​对象?

编辑:

我不知道为什么,但我的代码最终决定开始工作,所以对于任何有类似问题的人,上述代码是有效的,应该可以工作.我当前的Python版本是2.7.3

解决方法:

在调用函数时总是需要包括括号,所以写:

dict['foo'].getValue()

此外,getValue方法应该接受一个self参数并通过它访问实例属性:

def getValue(self):

return self.value

最后,在Python中不鼓励编程风格,其中每个属性都伴随着“getter”.实现计算的插槽是easy enough,因此不需要getter.

诸如dict和object之类的名称也非常不鼓励,因为它们与同名的built-in types冲突.

编辑

在此期间编辑了代码,使上述一些评论过时了.发布的代码的最新版本在粘贴到Python时似乎工作得很好.

标签:python

来源: https://codeday.me/bug/20191008/1870612.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/515612
推荐阅读
相关标签
  

闽ICP备14008679号