例外処理・ファイル操作・クラス基礎比較問題
__init__メソッドと__str__メソッドの役割の違いについて、最も正確な説明は何か。
A.__init__はインスタンスの初期化を行い、__str__はオブジェクトの文字列表現を定義する← 正解
✓ 正解です。__init__は初期化処理を実行し、__str__はprint時の文字列表現を定義します。
B.__init__は属性の初期化のみで、__str__はクラス自体の文字列説明を定義する
✗ __str__はインスタンスの文字列表現を定義します。クラス説明ではなく個別オブジェクト対象です。
C.__init__は1回のみ呼ばれるが、__str__は定義後は自動呼び出しされる
✗ __str__は自動呼び出しされません。print()やstr()で明示的に呼び出されます。
D.__init__はprivateメソッドだが、__str__はpublicメソッドである
✗ どちらも名前マングリングにより特別ですが、privateではなく慣例的な仕様です。