십대를 위한 코딩/십대를 위한 파이썬

str.format() 방식과 f-string 방식의 비교 설명

forSilver 2025. 5. 2. 02:23
반응형

str.format() 방식과  f-string 방식의 비교 설명

다음은 str.format() 방식과 Python 3.6 이상에서 사용 가능한 f-string 방식의 비교 설명입니다. 두 방식은 유사한 목적을 갖지만 사용성과 성능에서 차이가 있습니다.


1. 기본 비교

str.format() 방식

name = "Alice"
age = 30
'{} is {} years old'.format(name, age)
# 결과: 'Alice is 30 years old'

f-string 방식 (Python 3.6+)

name = "Alice"
age = 30
f'{name} is {age} years old'
# 결과: 'Alice is 30 years old'

✔️ f-string은 변수명을 직접 중괄호 {} 안에 넣어 가독성과 유지보수성이 뛰어납니다.


2. 포매팅 기능 비교

실수 출력: 소수점 2자리

  • str.format():
  • 'Pi is {:.2f}'.format(3.14159)
  • f-string:
  • f'Pi is {3.14159:.2f}'

✔️ f-string은 포매팅 규칙을 중괄호 안에 직접 삽입하므로 더 직관적입니다.


3. 표현식 사용

f-string은 표현식을 직접 중괄호에 작성할 수 있습니다:

x = 10
f'{x * 2 + 1}'
# 결과: '21'

str.format()에서는 미리 계산하거나 별도로 전달해야 합니다.


4. 성능 비교

f-string은 내부적으로 컴파일 시점에 처리되므로 속도 면에서 더 효율적입니다. 이는 대량 문자열 처리가 필요한 경우 유리합니다.


5. 가독성 비교

  • str.format()은 긴 문자열에서는 인자와 포맷이 분리되어 가독성이 떨어질 수 있습니다.
  • f-string은 값과 포맷을 한 줄에 직관적으로 표현하므로 유지보수가 용이합니다.

정리

항목  str.format()  f-string
지원 버전 Python 2.7, 3.x Python 3.6 이상
문법 간결성 보통 우수
성능 느림 빠름
표현식 지원 제한적 중괄호 안에서 직접 사용 가능
가독성 중간 우수
포매팅 유연성 우수 우수