yohhoyの日記

技術的メモをしていきたい日記

お手軽__repr__メソッド実装

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