Java では、クラスの メソッドをオーバーライドできますtoString()
。すると、Java の print 関数は、その によって定義されたオブジェクトの文字列表現を出力しますtoString()
。Java の に相当する Python はありますかtoString()
?
たとえば、PlayCard クラスがあります。PlayCard のインスタンス c があります。次のようになります。
>>> print(c)
<__main__.Card object at 0x01FD5D30>
しかし、私が望んでいるのは次のようなものです:
>>> print(c)
A♣
クラス インスタンスの文字列表現をカスタマイズするにはどうすればよいですか?
私はPython 3.xを使用しています
ベストアンサー1
Java に最も近いのは、クラスにtoString
実装することです。クラス定義に以下を追加します。__str__
def __str__(self):
return "foo"
デバッグを支援するために実装することもできます__repr__
。
詳細については、こちらをご覧ください: