Python 문자열 포매팅에서 중괄호 ({}) 문자 이스케이프 방법
Python에서 .format()
또는 f-string을 사용하여 문자열을 포매팅할 때, 문자열 내의 중괄호 ({})를 일반 문자로 출력하고 싶은 경우가 있습니다. 하지만, 중괄호는 포매팅 표현식을 나타내는 특수 문자이기 때문에 이를 그대로 출력하기 어렵습니다.
해결 방법:
다음은 Python 문자열 포매팅에서 중괄호 문자를 이스케이프하는 두 가지 방법입니다.
백슬래시 () 사용:
백슬래시 ()를 사용하여 중괄호 문자를 이스케이프할 수 있습니다. 예를 들어, 다음과 같이 코드를 작성하면 "Python {3.9}" 문자열이 출력됩니다.
print("Python \{3.9}")
f-string의 대괄호 ([]) 사용:
print(f"Python {[3.9]}")
주의:
- f-string을 사용할 때는 중괄호 안에 표현식을 넣을 수 있지만, 일반 문자열을 넣으려면 대괄호 ([])를 사용해야 합니다.
- 백슬래시 ()는 이스케이프 문자이기 때문에, 문자열 내에서 백슬래시를 출력하려면 두 개의 백슬래시를 사용해야 합니다. 예를 들어, "Python \{3.9}" 문자열을 출력하려면 다음과 같이 코드를 작성해야 합니다.
print("Python \\\\\{3.9\}")
참고:
- 앞서 언급된 내용은 Python 3.6 이상 버전에서만 사용 가능합니다. 이전 버전의 Python에서는 다른 방법을 사용해야 할 수도 있습니다.
예제 코드
# 문자열 변수 선언
name = "김철수"
age = 30
# 백슬래시를 사용하여 중괄호 문자 이스케이프
print(f"안녕하세요, {name}님! 올해는 {age}세가 되시네요.")
# 결과 출력
# 안녕하세요, 김철수님! 올해는 30세가 되시네요.
# 문자열 변수 선언
name = "박지영"
height = 170.5
# 대괄호를 사용하여 중괄호 문자 이스케이프
print(f"{name}님의 키는 {height}cm입니다.")
# 결과 출력
# 박지영님의 키는 170.5cm입니다.
여러 중괄호 문자 이스케이프
# 문자열 변수 선언
language = "Python"
version = 3.9
# 여러 중괄호 문자 이스케이프
print(f"{language} 프로그래밍 언어는 현재 {version} 버전이 출시되었습니다. {{추가 정보}}")
# 결과 출력
# Python 프로그래밍 언어는 현재 3.9 버전이 출시되었습니다. {추가 정보}
백슬래시 () 문자 이스케이프
# 문자열 변수 선언
path = "C:\\Users\\username\\Desktop"
# 백슬래시 문자 이스케이프
print(f"파일 경로는 {path}입니다.")
# 결과 출력
# 파일 경로는 C:\\Users\\username\\Desktop입니다.
- 위 예제 코드는 Python 3.6 이상 버전에서 실행해야 합니다.
- 다른 문자열 포매팅 방식을 사용할 수도 있지만, 중괄호 문자를 이스케이프해야 하는 경우에는 위 코드에서 제시된 방법을 참고하십시오.
Python 문자열 포매팅에서 중괄호 문자 이스케이프: 대체 방법
문자열 연결 연산자 (+) 사용:
print("Python " + "{3.9}")
str.format() 메서드 사용:
print("Python {}".format("{3.9}"))
Template 문자열 사용:
from string import Template
s = Template("Python {$version}")
print(s.substitute(version="{3.9}"))
중괄호 문자 제거:
name = "Python {3.9}"
print(name.replace("{", ""))
주의 사항:
- 각 방법마다 장단점이 있으므로, 상황에 맞는 방법을 선택해야 합니다.
str.format()
메서드는 Python 3.6 이전 버전에서는 사용할 수 없으며, Template 문자열 라이브러리는 별도로 설치해야 합니다.
python string format