インスタンスにおける__repr__を利用するような、インタプリタ上の表示の書きかえをクラスでも行ないたい
普段、開発しているさいにREPL(IPython)を使いながら挙動を確かめているのですが、クラスそれ自体が格納されているような変数を取りあつかう必要が出てきました。
普通、クラスはREPLで以下のような表示になると思われます:
In [1]: Test
Out[1]: __main__.Test
ですが、以下のようなクラスを定義し:
class Test:
def __repr__(self):
return "It works!!"
インスタンスにすると、以下のように、REPL上の表示を変えることができます:
In [4]: Test()
Out[4]: It works!!
これと同様のことを、クラスそれ自体にも行ないたいのですが、どうすればいいでしょうか?