クラスの特殊メソッド 文字列型「str」に変換する __str__

Pythonのクラスにおいて、オブジェクトを文字列に変換するための特殊メソッドとして、__str__ メソッドを定義できます。このメソッドを実装することで、str() 関数や文字列のフォーマットなどでオブジェクトを文字列に変換する際に、どのように表示されるかをカスタマイズできます。

以下は、__str__ メソッドを使ってクラスのオブジェクトを文字列に変換する例です:

python
class MyClass: def __init__(self, value): self.value = value def __str__(self): return f"MyClass instance with value: {self.value}" # インスタンスを作成 obj = MyClass(42) # オブジェクトを文字列に変換 obj_str = str(obj) print(obj_str) # 結果: "MyClass instance with value: 42"

この例では、MyClass クラス内に __str__ メソッドが定義され、オブジェクトが文字列に変換されるときに返される文字列を指定しています。str(obj) を呼び出すと、__str__ メソッドが実行されて、指定した文字列が返されます。

__str__ メソッドを実装することで、オブジェクトの情報を独自の方法で文字列に変換でき、デバッグやログ出力などで役立ちます。このメソッドは、Pythonの多くの標準ライブラリやフレームワークで使用されており、カスタムクラスの使いやすさを向上させるのに役立ちます。