Python 3.6부터 도입된 f-string은 문자열을 포맷팅하는 간단하고 강력한 방법입니다. 기존의 문자열 포맷팅 방식보다 더 직관적이고 가독성이 좋아, 현재는 가장 널리 사용되는 방식 중 하나입니다. 이번 글에서는 f-string의 기본 사용법부터 고급 기능까지 알아보겠습니다! 🚀
1. f-string이란?
f-string(Formatted String Literal)은 문자열 앞에 **f 또는 F**를 붙여 사용하는 포맷팅 방식입니다. 중괄호 {} 안에 변수를 직접 삽입하거나 표현식을 사용할 수 있어, 코드를 간결하게 작성할 수 있습니다.
기본 문법:
f"문자열 {변수 또는 표현식}"
2. 기본 사용법 🔍
변수 출력
name = "파이썬"
age = 30
print(f"안녕하세요, 저는 {name}입니다. 나이는 {age}살이에요.")
결과:
안녕하세요, 저는 파이썬입니다. 나이는 30살이에요.
표현식 사용
f-string 안에서는 단순히 변수를 출력하는 것뿐만 아니라 표현식도 사용할 수 있습니다.
a = 5
b = 3
print(f"{a} + {b} = {a + b}")
결과:
5 + 3 = 8
3. 다양한 활용법 🌟
3.1 문자열 메서드와 함께 사용
f-string 안에서도 문자열 메서드를 적용할 수 있습니다.
name = "python"
print(f"이름: {name.upper()}")
결과:
이름: PYTHON
3.2 숫자 포맷팅
숫자를 포맷팅하여 출력할 수도 있습니다.
소수점 제한
pi = 3.141592
print(f"원주율은 {pi:.2f}입니다.")
결과:
원주율은 3.14입니다.
천 단위 구분
salary = 1000000
print(f"월급: {salary:,}원")
결과:
월급: 1,000,000원
3.3 날짜와 시간 포맷팅
datetime 모듈과 함께 f-string을 활용하면 날짜와 시간을 손쉽게 포맷팅할 수 있습니다.
from datetime import datetime
now = datetime.now()
print(f"현재 시간은 {now:%Y년 %m월 %d일 %H:%M:%S}입니다.")
결과:
현재 시간은 2025년 01월 20일 14:35:12입니다.
4. 기존 포맷팅 방식과 비교 ⚖️
% 방식 (구식)
name = "파이썬"
age = 30
print("안녕하세요, 저는 %s입니다. 나이는 %d살이에요." % (name, age))
str.format() 방식
name = "파이썬"
age = 30
print("안녕하세요, 저는 {}입니다. 나이는 {}살이에요.".format(name, age))
f-string 방식
name = "파이썬"
age = 30
print(f"안녕하세요, 저는 {name}입니다. 나이는 {age}살이에요.")
f-string은 변수와 표현식을 한눈에 파악할 수 있어 가독성이 뛰어나고, 속도 또한 가장 빠릅니다.
5. 유의할 점 ⚠️
- Python 3.6 이상에서만 사용 가능
f-string은 Python 3.6부터 지원됩니다. 그 이하 버전에서는 사용할 수 없으니 확인이 필요합니다. - 중괄호 이스케이프
중괄호 {와 }를 출력하려면 **{{와 }}**를 사용해야 합니다.결과: - 중괄호 출력: {example}
- print(f"중괄호 출력: {{example}}")
6. 결론 🎯
f-string은 간결하고 직관적인 문법 덕분에 Python 프로그래밍에서 필수적인 도구로 자리 잡았습니다. 가독성, 성능, 편리함을 모두 갖춘 f-string을 적극 활용해 더 효율적인 코드를 작성해 보세요! 🚀