コードは次のとおりです。
class Dummy(object):
def __init__(self, v):
self.ticker = v
def main():
def _assign_custom_str(x):
def _show_ticker(t):
return t.ticker
x.__str__ = _show_ticker
x.__repr__ = _show_ticker
return x
a = [Dummy(1), Dummy(2)]
a1 = [_assign_custom_str(t) for t in a]
print a1[1]
# print a1[1].__str__ # test to if orig __str__ is replaced
私はこのような出力を見たいと思っていました
2
ただし、代わりに標準的な表現が表示されます。
<__main__.Dummy object at 0x01237730>
なんで?