ホームページ >バックエンド開発 >Python チュートリアル >クラスインスタンスのカスタマイズされた印刷出力のために `__str__` と `__repr__` をオーバーライドするにはどうすればよいですか?
print() を使用してクラス インスタンスの文字列表現をカスタマイズする方法
クラスのインスタンスを印刷するとき、デフォルトの動作では多くの場合、オブジェクトの記憶場所。文字列表現をカスタマイズし、印刷時に表示される内容を制御するには、str と __repr__ という 2 つの特別なメソッドを実装できます。
__str__: 人間が判読できる文字列表現の定義
str メソッドは、一般的なオブジェクトの文字列表現を定義します。 使用。これは、オブジェクトに対して print() または str() を呼び出すと呼び出されます。 __str__ をオーバーライドすることで、印刷時に表示されるカスタム出力を定義できます。
__repr__: デバッグ用の文字列表現の定義
reprメソッドは、デバッグを目的とした文字列表現を定義します。これは、オブジェクトに対して repr() を呼び出すとき、または str__ を定義しない場合に呼び出されます。 __repr 表現は、オブジェクトに評価される有効な Python 式である必要があります。
例
クラス インスタンスの文字列表現をカスタマイズするには:
class Test: def __init__(self): self.a = 'foo' def __str__(self): return "member of Test" def __repr__(self): return "Test()"
上記の例では:
このインスタンスを出力すると、 class:
t = Test() print(t)
コンソールに「テストのメンバー」が表示され、カスタムで意味のある表現が提供されます。
以上がクラスインスタンスのカスタマイズされた印刷出力のために `__str__` と `__repr__` をオーバーライドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。