デフォルトでは、IPythonがオブジェクトを表示するとき、それは__repr__
を使うようです。出力のために `__repr__`の代わりにオブジェクトの` __str__`を使うようにIPythonに指示します
__repr__
は、適切な環境でオブジェクトを再構成するために使用できるユニークな文字列を生成すると想定されています。 これは人間が読める出力を生成すると思われる__str__
とは異なります。
ここで、特定のクラスを作成し、デフォルトで(つまり、明示的にprint
または__str__
を呼び出すことなく)IPythonに人間が読める出力を生成させたいとします。 私たちのクラスを__repr__
do __str__
の仕事にすることで、ファジイしたくないです。 それはルールを破るだろう。
デフォルトで特定のクラスに対して__str__
を呼び出すようにIPythonに指示する方法はありますか?
関連:https://stackoverflow.com/questions/28304092/when-i-am-in-the-python-or-ipython-console-what-is-called-when-i-am-returned-an –
私が知っている限り、「通常の」解決策は、奇妙な '__repr__'を書くことです。例えば、パンダのデータフレームがこれを実行します。 – user2357112
@ user2357112 Awww :-( – DanielSank