Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 이스케이프 문자 그대로 출력하는 방법 총정리

파이썬으로 프로그래밍을 하다 보면 문자열 안에 줄 바꿈이나 탭 같은 특수 기능을 넣어야 할 때가 있습니다. 이때 사용하는 것이 바로 이스케이프 문자(Escape Characters)입니다. 이번 글에서는 이스케이프 문자가 무엇인지, 그리고 이스케이프 문자를 포함한 문자열을 화면에 그대로 출력하려면 어떻게 해야 하는지 자세히 알아보겠습니다.

이스케이프 문자란?

이스케이프 문자는 문자열 내에서 특별한 의미를 갖도록 만들어 주는 문자입니다. 예를 들어 문자열 안에서 줄 바꿈(new line), 탭 공백(tab space) 등을 표현하고 싶을 때 백슬래시(\)와 함께 조합된 이스케이프 문자를 사용합니다.

파이썬에는 다양한 이스케이프 문자가 존재합니다. 대표적인 것들은 다음과 같습니다.

  • \n : 줄 바꿈
  • \t : 탭(수평 탭)
  • \r : 캐리지 리턴

기본 예제: 줄 바꿈 출력하기

먼저 이스케이프 문자가 실제로 어떻게 동작하는지 간단한 예제로 확인해 보겠습니다.

## new line
new_line_string = "Hi\nHow are you?"

## 'Hi'가 첫 번째 줄에, 'How are you?'가 다음 줄에 출력됩니다.
print(new_line_string)

실행 결과

Hi
How are you?

위 코드를 실행하면 \n이 줄 바꿈으로 해석되어 두 문장이 서로 다른 줄에 출력되는 것을 확인할 수 있습니다.

repr() 함수로 이스케이프 문자 그대로 출력하기

그렇다면 \n, \t, \r 같은 이스케이프 문자가 포함된 문자열을 해석하지 않고 입력한 그대로 출력하려면 어떻게 해야 할까요? 이럴 때 파이썬의 내장 함수인 repr()을 사용하면 됩니다. repr() 함수는 문자열을 우리가 입력한 형태 그대로 정확하게 출력해 줍니다.

## string
string = "Hi\nHow are you?\nFine."

## 입력한 문자열이 그대로 출력됩니다.
print(repr(string))

실행 결과

'Hi\nHow are you?\nFine.'

출력 결과를 보면 \n이 줄 바꿈으로 변환되지 않고 문자 그대로 표시된 것을 알 수 있습니다.

원시 문자열(Raw String)로 출력하기

repr() 함수를 사용하지 않고도 이스케이프 문자를 그대로 출력할 수 있는 방법이 있습니다. 바로 문자열을 초기화할 때 앞에 r 또는 R 접두사를 붙여 원시 문자열(Raw String)로 선언하는 것입니다.

## string trigger
string = R"Hi\nHow are you?\nFine."

## 입력한 문자열이 그대로 출력됩니다.
print(string)

실행 결과

Hi\nHow are you?\nFine.

원시 문자열은 이스케이프 문자를 특수 기능으로 해석하지 않고 일반 문자로 취급하기 때문에, 정규표현식이나 파일 경로를 다룰 때도 매우 유용하게 활용됩니다. 참고로 대문자 R 대신 소문자 r를 사용해도 동일한 결과를 얻을 수 있습니다.

마무리

이번 글에서는 파이썬에서 이스케이프 문자의 개념과 함께, repr() 함수와 원시 문자열(r/R 접두사)을 사용하여 이스케이프 문자를 그대로 출력하는 방법을 살펴보았습니다. 두 가지 방법 모두 상황에 따라 편리하게 활용할 수 있으니 필요에 맞게 사용해 보시기 바랍니다. 글에 대해 궁금한 점이 있다면 댓글로 남겨주세요.