ホームページ >バックエンド開発 >Python チュートリアル >Python クラス インスタンスの文字列表現をカスタマイズするにはどうすればよいですか?
クラス インスタンスのカスタム文字列表現
クラスのインスタンスを出力する場合、デフォルトの出力ではクラス名とオブジェクト アドレスのみが提供されることがよくあります。 。この出力をカスタマイズして特定の属性を表示するには、クラスの 文字列表現 を定義できます。
str と repr を使用します。メソッド
Python は 2 つの特別なメソッドを提供します。 str と __repr__。オブジェクトの文字列表現を制御します。クラス内でこれらのメソッドをオーバーライドすることで、印刷時にクラスのインスタンスがどのように表示されるかを指定できます。
str Method
>str メソッドは、print 関数の使用時に表示される文字列表現を定義します。オブジェクトの文字列表現を返す必要があります。例:
class Test: def __str__(self): return "member of Test"
repr メソッド
repr メソッドは、 repr() 関数が使用されるか、対話型プロンプトでオブジェクトが検査されます。オブジェクトの再作成に使用できる文字列表現を返す必要があります。例:
class Test: def __repr__(self): return "Test()"
例
次の例を考えてみましょう:class Test: def __init__(self): self.a = 'foo' def __str__(self): return str(self.a) def __repr__(self): return "Test()"このクラスのインスタンスを出力すると、次の出力が表示されます。
>>> print(Test()) foo >>> repr(Test()) Test()両方を定義することで、
str メソッドと repr メソッドを使用すると、クラス インスタンスの文字列表現を完全に制御できます。
以上がPython クラス インスタンスの文字列表現をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。