默认情况下,I
Python以一种漂亮的方式输出列表表示:
In [1]: test_list
Out[1]: [<object_1>,
<object_2>,
<object_3>]
我有一个对象:
class TestObject(object):
def __init__(self):
self._list = [<object_1>, <object_2>, <object_3>]
def __repr__(self):
return self._list.__repr__()
test_object = Test()
而IPython的表现形式是:
In [2]: test_list
Out[2]: [<object_1>, <object_2>, <object_3>]
有没有办法获得列表的对象表示方式?
最佳答案 (作为答案重新发布)
要获得列表或任何对象的漂亮打印的repr,请致电:
from IPython.lib.pretty import pretty
pretty(obj)
如果你希望你的对象有一个与其正常repr分开的漂亮repr(例如,因此它不需要IPython来repr()它),你可以定义一个_repr_pretty_(self,cycle = False)方法.如果表示递归,则循环参数将为真 – 例如如果你把一个容器放在里面.