본문 바로가기
실버를 위한 코딩/파이썬

[내장 함수] 파이썬 내장 함수 repr()

by forSilver 2024. 9. 27.
반응형

파이썬 내장 함수 repr()

repr() 함수는 Python의 내장 함수 중 하나로, 객체의 문자열 표현(representation)을 반환합니다. repr() 함수는 주로 개발자용으로, 객체가 가지는 정보를 명확하고 정확하게 표현하는 문자열을 반환합니다. 이는 사람이 읽기 쉬운 형태라기보다는, 객체를 다시 생성할 수 있을 정도로 정확한 표현을 의도합니다.

repr()의 특징:

  • 객체를 식별할 수 있는 문자열을 반환.
  • 반환되는 문자열은 객체를 다시 생성하는 데 사용할 수 있을 정도로 정확해야 함.
  • 개발 및 디버깅에 유용하게 쓰임.

repr()str()의 차이:

  • repr()은 디버깅과 개발 목적으로 객체의 정확한 표현을 반환합니다.
  • str()은 사용자에게 읽기 쉬운 형식으로 객체를 반환합니다.
# 예시 코드
x = 1234
print(repr(x))  # 출력: '1234'
print(str(x))   # 출력: '1234'

# 문자열의 차이
s = 'Hello\nWorld'
print(repr(s))  # 출력: "'Hello\\nWorld'"
print(str(s))   # 출력: 'Hello
                #         World'

위의 예시에서 볼 수 있듯이, repr()은 이스케이프 문자(\n)를 포함한 정확한 표현을 반환하며, str()은 이를 사람이 읽기 좋은 방식으로 반환합니다.

repr()의 사용 예:

  1. 디버깅할 때: 코드에서 객체의 상태를 더 명확하게 볼 수 있습니다.
  2. 객체 재생성 가능성: eval()과 함께 사용하면, repr()의 출력으로 객체를 다시 생성할 수 있습니다.
x = [1, 2, 3]
x_repr = repr(x)  # "[1, 2, 3]" 반환
print(x_repr)     # 출력: '[1, 2, 3]'

# eval()을 사용하여 원래 객체 복원
y = eval(x_repr)
print(y)          # 출력: [1, 2, 3]

요약:

  • repr()은 객체의 정확한 표현을 반환하며, 디버깅 및 객체의 재생성을 위한 용도로 사용됩니다.
  • str()은 사용자에게 가독성이 좋은 형식으로 객체를 반환하는 반면, repr()보다 정확한 표현을 반환합니다.