Pythonで自前オブジェクトを文字列表現したい

Javaでいうところの toString() メソッド,Rubyでいうところの to_s() メソッド.
Pythonでは,__str__() メソッドをオーバーライドすれば良い.

def Hoge(object):
    """
    __str__のサンプル
    """
    def __init__(self):
        """
        メンバ変数の初期化
        """
        self.x = 10
        self.y = 20
    def __str__(self):
        """
        文字列表現を返す
        """
        return "(Hoge : x=%(x)d, y=%(y)d)" % {'x': self.x, 'y': self.y}
hoge = Hoge()
print(hoge)

こうすることで,「(Hoge : x=10, y=20)」と表示されるはず.

コメントする