Python repr() 내장 함수
Python 3 설명서에서 발췌
객체의 출력 가능한 표현을 포함하는 문자열을 반환합니다. 많은 유형의 경우, 이 함수는 eval() 에 전달될 때 동일한 값을 가진 객체를 생성하는 문자열을 반환하려고 시도합니다. 그렇지 않으면 표현은 객체 유형의 이름과 종종 객체의 이름 및 주소를 포함하는 추가 정보를 포함하는 꺾쇠 괄호로 묶인 문자열입니다. 클래스는 __repr__() 메서드를 정의하여 인스턴스에 대해 이 함수가 반환하는 것을 제어할 수 있습니다.
소개
repr() 함수는 객체의 출력 가능한 표현을 포함하는 문자열을 반환합니다. repr()의 목표는 모호하지 않은 것입니다. 많은 유형의 경우, repr()은 eval()에 의해 실행되어 동일한 객체를 생성할 수 있는 문자열을 반환합니다.
이는 사람이 읽을 수 있도록 의도된 str()과는 다릅니다.
예시
import datetime
# 문자열의 경우, repr() 은 따옴표를 추가합니다
print(repr("hello"))
# datetime 객체의 경우, 모호하지 않습니다
now = datetime.datetime.now()
print(repr(now))
# 자신의 클래스에 대해 __repr__을 정의할 수 있습니다
class Person:
def __init__(self, name):
self.name = name
def __repr__(self):
return f"Person(name='{self.name}')"
p = Person("John")
print(repr(p))
'hello'
datetime.datetime(2023, 10, 27, 10, 0, 0, 123456)
Person(name='John')