Python 이스케이프 문자란?
Python에서 이스케이프 문자(escape character)는 일반적인 방법으로는 입력하기 어려운 특수 문자나 제어 문자를 표현할 때 사용하는 문법입니다. 백슬래시(\)와 특정 문자를 조합하여 작성하며, 작은따옴표(' ')로 묶은 문자열과 큰따옴표(" ")로 묶은 문자열 모두에서 동일하게 해석됩니다.
예를 들어 \n은 줄바꿈을, \t는 탭 간격을 의미합니다. 아래 표는 백슬래시 표기법으로 표현할 수 있는 대표적인 이스케이프 문자 및 비인쇄(non-printable) 문자 목록입니다.
Python 주요 이스케이프 문자 목록
| 백슬래시 표기법 | 16진수 값 | 설명 |
|---|---|---|
| \a | 0x07 | 벨(Bell) 또는 경고음(Alert) |
| \b | 0x08 | 백스페이스(Backspace) |
| \cx | - | Control-x |
| \C-x | - | Control-x |
| \e | 0x1b | 이스케이프(Escape) |
| \f | 0x0c | 폼 피드(Formfeed) |
| \M-\C-x | - | Meta-Control-x |
| \n | 0x0a | 줄바꿈(Newline) |
| \nnn | - | 8진수 표기법 (n은 0부터 7 사이의 숫자) |
| \r | 0x0d | 캐리지 리턴(Carriage Return) |
| \s | 0x20 | 공백(Space) |
| \t | 0x09 | 탭(Tab) |
| \v | 0x0b | 수직 탭(Vertical Tab) |
| \x | - | 문자 x 그대로 출력 |
| \xnn | - | 16진수 표기법 (n은 0~9, a~f 또는 A~F 범위의 숫자) |
이스케이프 문자 사용 예시
가장 많이 사용되는 이스케이프 문자는 줄바꿈을 나타내는 \n입니다.
print("Hello\nWorld")
# 출력 결과:
# Hello
# World또한 문자열 내에 따옴표 자체를 포함하고 싶을 때도 이스케이프 문자를 활용할 수 있습니다.
print('He said: "Python is fun!"')
print("It's easy.")참고: 원시 문자열(Raw String)
파일 경로나 정규 표현식처럼 백슬래시를 그대로 유지해야 하는 경우에는 문자열 앞에 r을 붙여 원시 문자열(raw string)로 선언하면 이스케이프 처리를 생략할 수 있습니다.
path = r"C:\Users\Documents\file.txt"
print(path)
# 출력: C:\Users\Documents\file.txt이처럼 Python의 이스케이프 문자는 문자열 처리에서 필수적인 요소이며, 각 문자의 의미와 16진수 값을 정확히 이해해 두면 디버깅과 텍스트 가공 작업이 한결 수월해집니다.