본문 바로가기
Python/문법

Python f-string 가이드: 간결하고 효율적인 문자열 포맷팅 방법

by ssury94 2025. 1. 21.

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. 유의할 점 ⚠️

  1. Python 3.6 이상에서만 사용 가능
    f-string은 Python 3.6부터 지원됩니다. 그 이하 버전에서는 사용할 수 없으니 확인이 필요합니다.
  2. 중괄호 이스케이프
    중괄호 {와 }를 출력하려면 **{{와 }}**를 사용해야 합니다.결과:
  3. 중괄호 출력: {example}
  4. print(f"중괄호 출력: {{example}}")

6. 결론 🎯

f-string은 간결하고 직관적인 문법 덕분에 Python 프로그래밍에서 필수적인 도구로 자리 잡았습니다. 가독성, 성능, 편리함을 모두 갖춘 f-string을 적극 활용해 더 효율적인 코드를 작성해 보세요! 🚀