如何在自定义python 3类中支持漂亮的打印?
向自定义Python 3类添加漂亮打印支持的最可靠方法是什么 对于交互式数据评估,我发现非常重要的打印支持。但是,默认情况下,iPython的pretty打印机如何在自定义python 3类中支持漂亮的打印?,python,pretty-print,Python,Pretty Print,向自定义Python 3类添加漂亮打印支持的最可靠方法是什么 对于交互式数据评估,我发现非常重要的打印支持。但是,默认情况下,iPython的pretty打印机iPython.lib.pretty.pprint和标准库pprint.pprint仅支持内置结构类型(列表、元组、字典),其他所有类型都使用普通的repr()。值得注意的是,这甚至包括其他非常有用的实用程序,如collections.namedtuple() 因此,漂亮的打印输出通常格式怪异 我目前的awkard解决方法是定义如下类 c
iPython.lib.pretty.pprint
和标准库pprint.pprint
仅支持内置结构类型(列表、元组、字典),其他所有类型都使用普通的repr()
。值得注意的是,这甚至包括其他非常有用的实用程序,如collections.namedtuple()
因此,漂亮的打印输出通常格式怪异
我目前的awkard解决方法是定义如下类
class MyPrettyClass(dict):
def __init__(self, ...):
self.__dict__ = self
self._class = self.__class__ # In order to recognize the type.
...
<A LOT OF FIELDS>
...
类MyPrettyClass(dict):
定义初始化(自…):
self.\uuu dict\uu u=self
self._class=self.uuu class_35;以识别类型。
...
最初的目标是建立我自己的类不可知的漂亮打印机,但没有产生任何结果 对于ipython
,pretty打印机将在默认设置为\u repr\u pretty\u
之前查找\u repr\u pretty\u方法
有关此功能的更多详细信息,请参阅
使用pprint
,我知道的唯一方法是自定义\uuuu repr\uuuu
可能与以下内容相关:
{'__lp_mockup_xml': <lxml.etree._ElementTree object at 0x0000021C5EB53DC8>,
'__lp_mockup_xml_file': 'E:\\DataDirectory\\mockup.xml',
'__lp_realrun_xml_file': 'E:\\DataDirectory\\realrun.xml',
'_class': <class '__main__.readall'>,
'_docopy': False,
'dirname': 'E:\\DataDirectory'}