f-string(formatted string literal)은 Python 3.6에서 도입된 「문자열 안에 변수와 표현식을 직접 넣는」 방식입니다.
그 전에는 % 포맷이나 .format() 메서드를 썼지만, f-string은 훨씬 간결하고 빠릅니다.
사용법은 매우 단순합니다.
문자열 앞에 「f」를 붙이고, 중괄호 { } 안에 변수나 표현식을 넣습니다.
name = "홍길동"; age = 30; print(f"{name}님은 {age}세입니다").
결과는 「홍길동님은 30세입니다」.
{ } 안에는 변수뿐 아니라 어떤 표현식도 가능합니다.
f"내년에는 {age + 1}세", f"이름 길이: {len(name)}자", f"오늘은 {datetime.now()}" 같은 식으로 자유롭게 씁니다.
포맷 지정도 직관적입니다.
f"{price:,.2f}" — 천 단위 콤마 + 소수점 둘째 자리(예: 1,234.56).
f"{percent:.1%}" — 퍼센트로(예: 95.5%).
f"{name:>10}" — 오른쪽 정렬 10칸.
다른 언어의 printf 포맷과 비슷하지만 더 간결합니다.
Python 3.8부터는 「= 자기 자신 표현」도 가능합니다.
f"{age=}" — 「age=30」 출력.
디버깅 출력에 매우 편리해, print(f"{x=}, {y=}") 한 줄로 변수명과 값을 함께 보여 줄 수 있습니다.
한 줄 요약
f-string은 문자열 앞에 f를 붙이고 { } 안에 변수·표현식을 넣는 방식으로, % 포맷이나 .format()보다 훨씬 간결하고 빠른 현대 표준입니다.
더 알아볼 것
- {value:,.2f} 같은 포맷 사양
- Python 3.8+ {var=} 디버깅 표현
- str.format()과 % 포맷의 잔존 사용처