공식 Python 문서에 따르면 __repr__()은 객체의 "공식" 문자열 표현을 계산하는 데 사용됩니다. repr() 내장 함수는 __repr__()을 사용하여 객체를 표시합니다. __repr__()은 이 객체를 생성할 수 있는 방법 중 하나인 객체의 인쇄 가능한 표현을 반환합니다. __repr__()은 개발자에게 더 유용하고 __str__()은 최종 사용자를 위한 것입니다.
예시
다음 코드는 __repr__()이 사용되는 방법을 보여줍니다.
class Point: def __init__(self, x, y): self.x, self.y = x, y def __repr__(self): return 'Point(x=%s, y=%s)' % (self.x, self.y) p = Point(3, 4) print p
출력
이것은 출력을 제공합니다.
Point(x=3, y=4)
repr() 함수를 사용하는 또 다른 예를 살펴보고 datetime 객체를 생성하겠습니다. −
>>> import datetime >>> today = datetime.datetime.now()
내장 함수 repr()을 사용하여 오늘을 표시할 때 -
>>> repr(today) 'datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)'
이 문자열이 반환된 것을 볼 수 있지만 이 문자열은 날짜/시간 개체의 "공식" 표현이므로 이 "공식" 문자열 표현을 사용하여 개체를 재구성할 수 있습니다. −
>>> eval('datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)') datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)
eval() 내장 함수는 문자열을 받아 datetime 객체로 변환합니다.