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

문자열 포맷 "{1:5.3f}"

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

문자열 포맷 "{1:5.3f}"

포맷 "{1:5.3f}"는 문자열 포맷팅(formatting)에서 숫자를 특정 형식으로 출력하기 위해 사용되는 서식 지정자(format specifier)입니다. 하나하나 분해해서 자세히 설명드리겠습니다.


📌 기본 구조

"{위치인덱스:전체너비.소수점자리수형식}"

즉,
{1:5.3f} 는

  • 1 → 두 번째 인자 (format 함수에서의 위치)
  • 5.3f → 소수점 아래 3자리, 전체 너비는 5칸, 실수(float)로 표현

🔍 구성 요소별 설명

✅ {1}: 두 번째 인자

  • format() 함수에 들어오는 인자의 순서를 말합니다.
  • 예시:
  • "{1}".format("첫 번째", "두 번째") → 출력: '두 번째'

✅ :5.3f : 서식 지정자

✔ f : float (실수) 형식

  • 숫자를 소수점이 있는 실수로 출력하겠다는 뜻입니다.

✔ .3 : 소수점 아래 자릿수

  • 소수점 이하 3자리까지 출력합니다.
    • 예: 1.4142135 → 1.414

✔ 5 : 전체 너비 (전체 자리 수)

  • 출력될 문자열의 전체 길이가 5칸이 되도록 맞춥니다.
  • 필요시 앞에 공백을 추가하여 너비를 맞춥니다.

🧪 예제 비교

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

출력 결과

sqrt(1) = 1.000
sqrt(2) = 1.414
sqrt(3) = 1.732
sqrt(4) = 2.000
  • 1.000은 소수점 아래 3자리로 맞춰짐
  • 5.3f는 전체 너비가 최소 5칸이 되게 함 (소수점 포함해서)
  • 자리 수가 모자랄 경우 왼쪽에 공백이 추가됩니다

💬 만약 :7.2f를 쓴다면?

"{1:7.2f}".format(k, math.sqrt(k))
  • 소수점 아래 2자리
  • 전체 너비 7자리
  • 출력 예: " 1.41" (왼쪽에 공백 포함)

🎯 요약표

 

포맷 코드 의미   예시 결과
:5.3f 전체 5칸, 소수점 이하 3자리 실수 1.000
:7.2f 전체 7칸, 소수점 이하 2자리 실수 1.41
:.2f 너비 지정 없이 소수점 2자리 1.41
:10.4f 전체 10칸, 소수점 4자리 1.4142

 

댓글