1. ホーム
  2. パイソン

[解決済み】Pythonクラスの文字列表現を変更するにはどうすればいいですか?[重複しています]。

2022-04-06 04:18:25

質問

Javaでは toString() メソッドを作成します。そして、Java の print 関数は、その toString() . Pythonには、Javaの toString() ?

例えば、PlayCardクラスがあるとします。PlayCardのインスタンスcがある。さて

>>> print(c)
<__main__.Card object at 0x01FD5D30>

しかし、私が欲しいのは、次のようなものです。

>>> print(c)
A♣

クラスインスタンスの文字列表現をカスタマイズするには?

Python 3.xを使用しています。

どのように解決するのですか?

最も近いのは、Javaの toString を実装することです。 __str__ を作成します。これをクラス定義に記述します。

def __str__(self):
     return "foo"

を実装することもできます。 __repr__ を使用すると、デバッグが容易になります。

詳しくはこちらをご覧ください。