repr()
オブジェクトの印刷可能な表現を含む文字列を返します。
repr()関数は、引数に指定したオブジェクトのreprメソッドを呼び出します。
reprメソッドは、eval()関数に渡した際に同等の値を持つオブジェクトを生成する文字列を返します。
多くのタイプの場合、この関数は、eval()に渡されたときに同じ値を持つオブジェクトを生成する文字列を返そうとします。
それ以外の場合は、表現は山括弧で囲まれた文字列であり、オブジェクトのタイプの名前と、多くの場合、オブジェクトの名前とアドレスを含む追加情報が含まれます。
使用例
class TestObject:
def __init__(self, arg):
self.arg = arg
def __str__(self):
return f'arg = {self.arg}'
def __repr__(self):
return f'TestObject({self.arg})'
obj = TestObject(1)
print(f'str: {obj}')
# 実行結果 str: arg = 1
print(f'repr: {repr(obj)}')
# 実行結果 repr: TestObject(1)
e = eval(repr(obj))
print(f'eval: {e}')
# 実行結果 eval: arg = 1