标准pprint
模块在处理列表、字典等时很好用。但有时完全无法使用自定义类:
使它打印有关某个类的对象的可用信息的唯一方法是 override
__repr__
,但是如果我的类已经有 nice,eval()
'able__repr__
,它没有显示我想在 pprint 输出中看到的信息怎么办?好的,我会写面向打印的
__repr__
,但在这种情况下,不可能在我的类中漂亮地打印一些东西:
.
class Data:
def __init__(self):
self.d = {...}
我不能漂亮地打印self.d
内容,我只能返回一行表示(至少不玩堆栈跟踪等)。- 覆盖PrettyPrinter
不是一种选择,我不想每次我想漂亮地打印同一个类时都这样做。
那么......是否有任何替代 pprint 允许使自定义类可打印的替代方法?