표준 pprint
모듈은 목록, dicts 등을 다룰 때 유용합니다. 하지만 가끔은 완전히 사용할 수 없게 사용자 정의 클래스와 :Python 3.x : 대체 pprint 구현
유일한 방법은 그것을 어떤 클래스의 객체에 대한 유용한 정보를 인쇄 할 수 있도록하는 것은
__repr__
을 무시하는 것입니다,하지만 내 클래스는 이미__repr__
수 'eval()
, 좋은이 있다면 무엇 인 pprint ouput에서보고 싶은 정보가 보이지 않습니까?좋아, 나는 쓸 것이다 인쇄 지향
__repr__
을하지만,이 경우는 내 수업 내부 꽤 인쇄 뭔가에 불가능하다 :
.
class Data:
def __init__(self):
self.d = {...}
나는 꽤 인쇄 self.d
내용을, 나는 (적어도 스택 추적을 가지고 노는없이 등)을 하나의 라인 표현을 반환 할 수 없습니다. - PrettyPrinter
을 무시하는 것은 옵션이 아닙니다. 같은 클래스를 예쁘게 인쇄하고 싶을 때마다하고 싶지 않습니다.
그래서 ... 사용자 정의 클래스를 예쁜 인쇄물로 만들 수있는 pprint의 대안이 있습니까? 꽤 대신의 __str__
찾고있을 수 있습니다 인쇄 (또는뿐만 아니라) __repr__
예에 대한
발견 https://pypi.python.org/pypi/pretty/0.1하지만, py2.X 인 것 같습니다. – Equidamoid
"단 한 줄로 된 표현 만 반환 할 수 있습니다."- 왜 그런가요?예를 들어 NumPy는 잘 작동하는 여러 줄 repr()을 반환합니다. 다음은 파이썬 문자열로서의 예입니다 : array ([(0, 0, (0, 0, 0)), (0, 0, (0, 0, 0)), (0, 0, (0, 0, 0)), \ n (0, 0, (0, 0, 0))], \ n dtype = [('foo', 'u1'), ('bar', '
kampu
@ kampu 필자는'pprint' 들여 쓰기를 깨기 때문에 여러 줄 문자열을 반환 할 수 없다는 것을 의미했습니다. – Equidamoid