ホームページ >バックエンド開発 >Python チュートリアル >Python クラス インスタンスの文字列表現をカスタマイズするにはどうすればよいですか?
クラスのインスタンスを印刷する場合、デフォルトの出力は通常、<__main__.ClassName object at 0xXXXXXXXX> のようになります。限られた情報。印刷時にクラス インスタンスがどのように表示されるかをカスタマイズするには、文字列表現の概念を理解することが不可欠です。
Python には、クラスとオブジェクトの文字列表現を制御するための 2 つのメソッドが用意されています。
クラス インスタンスの文字列表現を使用する場合は、クラス定義内でこれらのメソッドをオーバーライドする必要があります。例:
class Test: def __str__(self): return "Customized string representation"
__str__ のカスタム実装を提供すると、Test クラスのインスタンスで print() を呼び出すときに出力を制御できます。
場合によっては、印刷やデバッグの目的で別の表現を提供したい場合があります。このシナリオでは、クラス定義内で __str__ と __repr__ の両方をオーバーライドできます。
class Test: def __str__(self): return "User-friendly representation" def __repr__(self): return "Technical representation for debugging"
この実装では、print() はユーザーフレンドリーな表現を表示し、対話型プロンプトとデバッグ ツールは技術的な表現を表示します。
カスタム文字列表現を定義したら
print(instance_name)
repr(instance_name)
__str__ をオーバーライドすることにより、 __repr__ を使用すると、クラス インスタンスの出力を特定の要件に合わせて調整し、さまざまな目的に役立つ情報を提供できます。
以上がPython クラス インスタンスの文字列表現をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。