\

Pythonでは、オブジェクトをプリントするためにprint()関数を使用します。しかし、クラスのインスタンスをプリントしようとすると、デフォルトではそのオブジェクトのメモリアドレスが表示されます。これは、多くの場合、開発者が期待する結果ではありません。

そこで、クラスのインスタンスをプリントしたときにカスタムの出力を得るためには、そのクラスに__str__または__repr__メソッドを定義します。

class Test:
    def __init__(self):
        self.a = 'foo'

    def __str__(self):
        return self.a

print(Test())  # Output: foo

上記の例では、Testクラスに__str__メソッドを定義しています。このメソッドは、クラスのインスタンスを文字列として表現する方法をPythonに教えています。そのため、print(Test())を実行すると、__str__メソッドが返す値(この場合は'foo')が出力されます。

このように、Pythonでは__str____repr__メソッドを使用して、オブジェクトのプリント出力をカスタマイズすることができます。これにより、デバッグ時に役立つ情報を簡単に取得できるようになります。

Stack Overflow

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です