我有三个Python类A、B和C。A包含B对象,而B包含C的对象。我的目标是在打印A类对象时,它应该以以下格式进行漂亮的打印。 C类中也可以有更多的嵌套。
A:
loc : XYZ
qual : ABC
b :
name : ABC
age : 30
c :
address : ABC
phn : 99009
以下是供参考的类。
class C(object):
def __init__(self):
self.address='ABC'
self.phn=99009
class B(object):
def __init__(self):
self.name='ABC'
self.age=30
self.c = C()
class A(object):
def __init__(self):
self.loc = 'XYZ'
self.qual = 'ABC'
self.b = B()
pretty-print
,我就假设您只是想控制pprint
模块如何处理您的对象?最简单的方法是创建一个自定义的PrettyPrinter
子类,覆盖文档中记录的方法,以处理您的对象为类似于列表和字典的“递归对象”。然后,您只需在pprint
模块的位置上使用该类的一个实例即可。 - abarnert