【Python3.x】__class__::__str__()メソッドの使い方
__str__メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
__str__メソッドは、オブジェクトを人間が読みやすい文字列形式に変換するメソッドです。このメソッドは、Pythonのすべてのクラスが暗黙的に継承するobjectクラスが持っており、print()関数でオブジェクトを出力したり、str()関数を使ってオブジェクトを明示的に文字列に変換したりする際に自動的に呼び出されます。
カスタムクラスを作成する際、開発者はこの__str__メソッドを独自に定義(オーバーライド)することで、そのクラスのインスタンスがどのような文字列として表現されるかを制御できます。例えば、Personクラスのインスタンスが「名前: 太郎、年齢: 30歳」のように表示されるように設定することが可能です。これにより、プログラムの実行中にオブジェクトの状態を簡単に確認したり、ユーザーに情報を表示したりすることが可能になります。
もし独自に定義しない場合、Pythonのデフォルトの動作として、オブジェクトの種類とメモリアドレスのような情報が返されるため、通常は開発者が独自の__str__を実装することが推奨されます。このメソッドは、デバッグ時やログ出力時、あるいはユーザーインターフェースで情報を表示する際に非常に役立ち、オブジェクトの「読みやすい」表現を定義することで、プログラムの可読性とデバッグのしやすさを向上させる重要な役割を担っています。
構文(syntax)
1def __str__(self): 2 pass
引数(parameters)
self, /
Python:
- self: このメソッドが呼び出されたインスタンス自身
戻り値(return)
str
このメソッドは、オブジェクトの文字列表現を返します。これにより、オブジェクトの内容を人間が読める形で表示できます。