Equ*_*oid 10 python python-3.x pprint
pprint处理列表,dicts等时,标准模块很不错.但有时自定义类完全无法使用:
让它打印关于某个类的对象的可用信息的唯一方法是覆盖__repr__,但是如果我的类已经很好了,eval()'能够__repr__不显示我想在pprint输出中看到的信息呢?
好的,我会写面向打印__repr__,但在这种情况下,不可能在我的课程中打印出漂亮的东西:
.
class Data:
def __init__(self):
self.d = {...}
Run Code Online (Sandbox Code Playgroud)
我不能打印self.d内容,我只能返回单行表示(至少不使用堆栈跟踪等).- 覆盖PrettyPrinter不是一个选项,我不想每次想要打印相同的类时都这样做.
那么......是否有任何替代pprint允许自定义类可以打印?
IPython 中有一个改进和维护的“漂亮”库的 Python 2.x/3.x 端口:https://ipython.readthedocs.io/en/stable/api/ generated/IPython.lib.pretty.html
| 归档时间: |
|
| 查看次数: |
1196 次 |
| 最近记录: |