タプルで %r を使用すると、次のエラーが発生する理由を誰か説明してください。
>>> repr((1,2))
'(1, 2)'
>>> class Foo(object):
... def __init__(self,vals):
... self.vals=vals
... def __repr__(self):
... return "Foo(%r)" % self.vals
...
>>> foo = Foo((1,2))
>>> foo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 5, in __repr__
TypeError: not all arguments converted during string formatting
プリントアウトの適切な方法は何__repr__
ですか? 代わりに%s
andを使用する必要がありますか?repr(self.vals)