Python에서 출력 시 백슬래시가 두 번 표시되는 이유
파이썬에서 백슬래시(\)는 이스케이프 문자(escape character)입니다. 이스케이프 문자는 작은따옴표('), 큰따옴표("), 줄바꿈(\n)처럼 문자열 안에 그대로 쓸 수 없는 특수 문자를 포함시킬 때 사용됩니다.
그렇다면 왜 백슬래시를 출력하면 두 번 표시될까요? 그 이유는 백슬래시 자체도 이스케이프 처리가 필요한 문자이기 때문입니다. 문자열에 실제 백슬래시 하나를 포함하려면 백슬래시를 두 번(\\) 입력해야 하며, 이는 인터프리터에게 "이 백슬래시는 이스케이프 기능이 아니라 일반적인 백슬래시 문자 그 자체로 사용하라"고 알려주는 역할을 합니다.
코드 예제
print("hello \\ John's friends")출력 결과:
hello \ John's friends
위 예제에서 \\는 출력될 때 하나의 백슬래시(\)로 변환되는 것을 확인할 수 있습니다.
자주 사용되는 이스케이프 시퀀스
- \\ : 백슬래시 자체(\)
- \' : 작은따옴표(')
- \" : 큰따옴표(")
- \n : 줄바꿈(new line)
- \t : 탭(tab)
대안: 원시 문자열(Raw String)
이스케이프 처리 없이 백슬래시를 그대로 유지하고 싶다면 문자열 앞에 r을 붙인 원시 문자열(raw string)을 사용할 수 있습니다.
print(r"C:\Users\Documents")
출력 결과:
C:\Users\Documents
원시 문자열은 파일 경로나 정규 표현식처럼 백슬래시가 많이 포함된 문자열을 다룰 때 특히 유용합니다.