Pythonでは、クラスオブジェクトを文字列に変換するために __str__ と __repr__ という特殊メソッドを使用します。これらのメソッドは、クラスのインスタンスを人間が読みやすい形式で表現するために使用されます。
__str__ メソッド
__str__ メソッドは、クラスのインスタンスを文字列に変換するためのメソッドです。このメソッドを定義すると、str() 関数を使用してクラスのインスタンスを文字列に変換することができます。
class MyClass:
def __str__(self):
return "This is MyClass instance"
上記の例では、MyClass のインスタンスを str() 関数を使って文字列に変換すると、 "This is MyClass instance" という文字列が返されます。
__repr__ メソッド
__repr__ メソッドは、クラスのインスタンスを文字列に変換するためのもう一つのメソッドです。このメソッドは、__str__ メソッドが定義されていない場合や、repr() 関数を使用してクラスのインスタンスを文字列に変換する場合に呼び出されます。
class MyClass:
def __repr__(self):
return "MyClass()"
上記の例では、MyClass のインスタンスを repr() 関数を使って文字列に変換すると、 "MyClass()" という文字列が返されます。
まとめ
Pythonでは、クラスのインスタンスを文字列に変換するために __str__ と __repr__ という特殊メソッドを使用します。これらのメソッドを適切に使用することで、クラスのインスタンスを人間が読みやすい形式で表現することができます。