파이썬에서는 다양한 문자열 포맷팅 방법을 제공한다. 그 중 Python 3부터 지원하기 시작한 Literal string interpolation, 즉 f-string은 매우 직관적이고 간단하다.
f-string 구성
모든 f-string문은 다음 형태로 구성된다. 알파벳 f와 따옴표다.
# single quotes
f'포맷팅 원하는 문자열'
# double quotes
f"포맷팅 원하는 문자열"
문자열을 줄바꿈 그대로 출력하고 싶다면 triple quotes를 사용한다.
# triple quotes
f'''
포맷팅
원하는
문자열
'''
f-string 사용 예시
- 변수호출
변수에 값을 지정하고, 문자열 중 해당 값을 나타내고 싶은 부분에
{변수명}
을 넣어준다.
name = "달"
age = "23"
print(f"안녕하세요, 제 이름은 {name}이고, {age}살입니다.")
# 출력값
안녕하세요, 제 이름은 달이고, 23살입니다.
- 다양한 표현식
2-1. 산수 연산
print(f"{10 * 3}")
# 출력값
30
2-2. 함수
def func(name):
return "안녕하세요, 제 이름은 " + name + "입니다."
name = "달"
print(f"{func(name)}")
# 출력값
안녕하세요, 제 이름은 달입니다.
2-3. 딕셔너리
data = {
"name" : "달",
"age" : 23,
"area" : "서울"
}
print(f"안녕하세요, 제 이름은 {data['name']}입니다. {data['age']}살이고, {data['area']}에 삽니다.")
# 출력값
안녕하세요, 제 이름은 달입니다. 23살이고, 서울에 삽니다.
딕셔너리 안 특정 키에 해당하는 값을 찾을 때는 딕셔너리이름["키 이름"]
으로 호출하므로, f-string에서도 같은 방식을 쓰면 된다. 하지만 주의할 점은 문자열을 큰 따옴표로 묶었다면 키 이름은 작은 따옴표로, 문자열을 작은 따옴표로 묶었다면 키 이름은 큰 따옴표로 묶어야 한다.
- 따옴표 출력
name = "달"
print(f"'안녕하세요, 제 이름은 '{name}'입니다.'")
# 출력값
'안녕하세요, 제 이름은 '달'입니다.'
f-string을 묶어준 따옴표와 다른 따옴표를 쓸 경우엔 단순하다. 하지만 같은 따옴표를 쓸 때는 백슬래시를 이용한다.
print(f"\"안녕하세요, 제 이름은 \"{name}\"입니다.\"")
# 출력값
"안녕하세요, 제 이름은 "달"입니다."
참고한 자료
https://www.datacamp.com/community/tutorials/f-string-formatting-in-python