Python에서 str() vs repr() vs print()

발행: (2026년 5월 11일 PM 12:07 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

개요

Python을 배우다 보면 종종 비슷해 보이는 세 가지 내장 유틸리티를 만나게 됩니다:

  • str()
  • repr()
  • print()

처음에는 모두 같은 일을 하는 것처럼 보일 수 있습니다—출력을 표시한다는 점에서—하지만 각각은 뚜렷한 목적을 가지고 있습니다.

str()

  • 객체의 사용자 친화적인(읽기 쉬운) 표현을 반환합니다.
  • 최종 사용자에게 표시하기 위해 설계되었습니다.
  • 예시: str("Hello\nWorld")Hello\nWorld를 반환합니다(줄 바꿈이 실제로 해석됩니다).

repr()

  • 객체의 개발자 지향(디버깅) 표현을 반환합니다.
  • Python이 내부적으로 사용하는 정확한 형태를 보여주며, 따옴표와 이스케이프 문자까지 포함합니다.
  • 예시: repr("Hello\nWorld")'Hello\\nWorld'를 반환하여 \n을 그대로 보이게 합니다.

print()

  • 객체의 문자열 표현을 콘솔에 출력합니다.
  • 내부적으로 객체에 대해 str()을 호출한 뒤 출력합니다.

비교

함수목적
str()사람이 읽기 쉬운 표현
repr()디버깅을 위한 정확하고 모호함이 없는 표현
print()출력 표시(str()을 내부적으로 사용)

읽기 쉬운 출력(str())과 원시 내부 표현(repr())의 차이를 이해하면, 특히 디버깅이나 객체를 검사할 때 Python의 동작을 명확히 파악할 수 있습니다. 이 작은 개념은 명확하고 유지 보수하기 쉬운 코드를 작성하는 데 큰 도움이 됩니다.

0 조회
Back to Blog

관련 글

더 보기 »