Python에서 str과 repr의 차이점
소개
Python 프로그래밍에서 객체를 문자열로 표현하려면 str
과 repr
두 가지 방법이 있습니다. 이 두 함수가 비슷해 보이지만, 각각 다른 목적과 사용 사례가 있습니다. 이 글에서는 str
과 repr
이 어떻게 다른지, 언제 어떤 것을 사용해야 하는지에 대해 상세하게 알아보겠습니다.
str
함수의 특징
str
함수는 객체를 사람이 읽기 쉬운 형태의 문자열로 변환합니다. 이 함수를 사용하면 사용자 인터페이스에서 보여주기 적합한 형태로 출력됩니다. 예를 들어, 날짜 객체는 일반적으로 “2023-10-02”와 같은 형식으로 표현됩니다.
1
2
date = datetime.date(2023, 10, 2)
print(str(date)) # 출력: "2023-10-02"
repr
함수의 특징
반면에 repr
함수는 개발자가 이해하기 쉬운, 또는 Python 인터프리터가 다시 해당 객체를 생성할 수 있는 형태로 문자열을 반환합니다. 이것은 디버깅이나 로깅에 유용하며, Python 코드에서 직접 사용할 수 있습니다.
1
2
date = datetime.date(2023, 10, 2)
print(repr(date)) # 출력: "datetime.date(2023, 10, 2)"
언제 어떤 것을 사용해야 할까?
- 사용자에게 정보를 보여주려면
str
: 애플리케이션의 사용자에게 정보를 표시할 때는str
함수를 사용하는 것이 좋습니다. - 디버깅이나 로깅 목적이면
repr
: 코드의 내부 상태를 확인하거나 로그를 남길 때는repr
함수를 사용하는 것이 유리합니다.
요약
str
과 repr
두 함수는 객체를 문자열로 변환하는 역할을 하지만, 그 목적과 사용 사례가 다릅니다. str
는 일반적으로 사용자가 이해하기 쉬운 형태로, repr
은 Python 인터프리터나 개발자가 이해하기 쉬운 형태로 문자열을 생성합니다. 따라서 상황에 맞게 적절한 함수를 선택해 사용해야 합니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.