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__
という特殊メソッドを使用します。これらのメソッドを適切に使用することで、クラスのインスタンスを人間が読みやすい形式で表現することができます。