我想知道是否有人知道如何打印一个名称空间来显示“apple”和“1.79美元”的键值对。你知道吗
我明白如果我取消注释
#print(object_of_Hist_class)
我会看到我要问的数据。。。但我很好奇我能不能
print(something.__dict__)
(显然,我不知道应该是什么东西)看到“苹果”和“1.79美元”的数据。下面是我要说的代码:
class Hist(dict):
def __init__(self, instance_var):
self.instance_var = instance_var
object_of_Hist_class = Hist('cha cha cha')
object_of_Hist_class['apple'] = '$1.79'
#print(object_of_Hist_class)
print(object_of_Hist_class.__dict__)
print(Hist.__dict__)
print(dict.__dict__)
原岗位以上
解决方案如下
下面是我要找的。。。 首先,我将重新创建以前使用vars得到的结果
print(vars(object_of_Hist_class))
print(vars(Hist))
下面是我第一次问这个问题时所寻找的内容(特别是我希望在显示名称空间内容的字典中找到的“数据”,可以在下面打印的最右边看到):
print(vars())
print(locals())
print(globals())
感谢以下帖子提供此信息: What's the difference between globals(), locals(), and vars()?
如果您无法运行上述打印,那么最后三个都将为字典提供一个最终键值对:'object\u of \u Hist\u class':{'apple':'$1.79'}
这就是我要找的。你知道吗
我对栈溢出帖子还不熟悉(对dict子类化之类的东西也不熟悉,我不打算做更多的工作)。无论如何,谢谢你鼓励我更清楚我的职位,并帮助我了解更多有关张贴程序!你知道吗
听起来你把dict项和属性搞混了。
foo.__dict__
提供foo
的属性。dict中的键值对不作为属性存储,因此它们不会显示在其__dict__
中。你知道吗如果在对象上设置属性,它将显示在那里。例如,
object_of_Hist_class.__dict__
将包含一个instance_var
键。类似地,Hist.__dict__
将包含一个__init__
键,以及一些其他特殊属性名。你知道吗更多信息:Python 2 data model
相关问题 更多 >
编程相关推荐