假设我有以下课程:
class Object1:
d = 1
class Object2:
a = 1
b = 2
c = 3
o = None
Object2中的o属性将成为Object1的引用。我的最终目标是使用 dict 打印出Object2的平键/对词典:
b = Object2()
b.a = 2
o = Object1()
o.d = 2
b.o = o
print b.__dict__
但我得到了这个:
{'a': 2, 'o': <__main__.Object1 instance at 0x2d52290>}
只是想知道有没有一种方法可以打印出没有参考的dic?
{'a': 2, 'o': {'o': 2}}
由于
答案 0 :(得分:1)
如何打印课程取决于__str__
和__repr__
方法,因此您可以将这些方法添加到Object1
。请注意,只有在您确定Object1
的值由d
属性表示时才应执行此操作:
class Object1:
d = 1
def __str__(self):
return str(self.d)
def __repr__(self):
return str(self.d)
输出:
print b.__dict__
{'a': 2, 'o': 2}
答案 1 :(得分:0)