본문 바로가기
컴퓨터과학과

f-string 방식, .format()과 비교

by 공부하는노년 2025. 4. 15.
반응형

f-string 방식, .format()과 비교

f-string 방식은 Python 3.6부터 도입된 가장 직관적이고 가독성 좋은 문자열 포맷팅 방법입니다. 아래에 f-string 방식에 대한 자세한 설명을 드리겠습니다.


🔹 기본 문법

f"문자열 중간에 {변수명 또는 표현식}"
  • 문자열 앞에 반드시 f 를 붙입니다.
  • 중괄호 {} 안에 변수, 수식, 함수 등을 직접 쓸 수 있습니다.
  • 포맷 지정자도 바로 함께 사용할 수 있습니다.

🔸 f-string에서의 실수 포맷 지정

📌 형식

f"{값:전체너비.소수점자리수f}"
  • f는 실수(float) 형식
  • .소수점자리수 → 소수점 아래 자리수
  • 전체너비 → 최소 출력 폭(공백 포함)

✅ 예제: math.sqrt() 사용

import math
for k in range(1, 5):
    print(f"sqrt({k}) = {math.sqrt(k):5.3f}")

출력 결과:

sqrt(1) = 1.000
sqrt(2) = 1.414
sqrt(3) = 1.732
sqrt(4) = 2.000

🔍 해석

  • f"sqrt({k}) = {math.sqrt(k):5.3f}"
    → k는 그대로 출력되고
    → math.sqrt(k) 값은 소수점 아래 3자리, 전체 최소 너비 5칸으로 맞춰져 출력됩니다.

✏️ 비교: .format()과 f-string

  

방식 코드 예시 코드 예시 특징
.format() "sqrt({0}) = {1:5.3f}".format(k, math.sqrt(k)) 오래된 방식, 파이썬 2/3 공통
f-string f"sqrt({k}) = {math.sqrt(k):5.3f}" 간단하고 가독성 뛰어남

💡 f-string의 장점 요약

  • ✅ 변수 삽입이 직관적이다.
  • ✅ 수식, 함수 호출도 바로 가능하다.
    예: f"{x + y:.2f}", f"{math.sqrt(n):.3f}"
  • ✅ 디버깅에도 좋다.
    예: f"{value=}" → value=3.14 출력

📘 정리 요약

 

표현식  의미
f"{x:.2f}" x를 소수점 2자리로 출력
f"{x:7.3f}" x를 전체 7칸, 소수점 3자리로 출력
f"{x:>10.2f}" 오른쪽 정렬, 전체 10칸, 소수점 2자리
f"{x:<10.2f}" 왼쪽 정렬
f"{x:^10.2f}" 가운데 정렬

 

댓글