<Python, class> __repr__
みげるっちのブログを読みつつ、ふーんと流していた箇所の意味が少しわかった。
__repr__
は、オブジェクトobject
を示す番号を返す。
で、クラス class
中で、__repr__
をオーバーライトしてしまえば、
自分の任意の値を返すようにできる、、、わかりやすくなる。
っぽい。
In [102]: class Hage: ...: id = 1 ...: Hikari = 5000 ...: In [103]: class StrongHage(Hage): ...: id = 1 ...: Hikari = 50000000 ...: def __repr__(self): ...: return __class__.__name__ ...: In [104]: Taro = Hage() In [105]: Jiro = StrongHage() In [106]: Taro Out[106]: <__main__.Hage at 0xbabec50> In [107]: Taro.__repr__() Out[107]: '<__main__.Hage object at 0x000000000BABEC50>' In [108]: Jiro Out[108]: StrongHage In [109]: Jiro.__repr__() Out[109]: 'StrongHage'
マニュアル
[http://docs.python.jp/3.6/reference/datamodel.html#object.repr]