Pythonのユーザ定義クラスにおいて、__repr__メソッドを手軽に実装する方法。データ属性を名前順にダンプさせるためpprintモジュールを利用する。
import pprint class Node(object): def __init__(self, data, next = None): self.data = data self.next = next def __repr__(self): return self.__class__.__name__ + pprint.pformat(self.__dict__) n1 = Node(42) n2 = Node(100, n1) print("n1={}".format(n1)) # n1=Node{'data': 42, 'next': None} print("n2={}".format(n2)) # n2=Node{'data': 100, 'next': Node{'data': 42, 'next': None}}
関連URL