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

Python str.format() 완전 분석

forSilver 2025. 5. 1. 01:11
반응형

아래는 Python의 str.format() 메서드와 그 사용 방식에 대한 상세한 설명입니다. 이 설명은 특히 format() 메서드를 처음 접하거나, 다양한 표현 옵션을 이해하고자 하는 분들에게 도움이 됩니다.


Python str.format() 완전 분석

기본 구조

'{} {}'.format(값1, 값2)
  • 문자열 안에 있는 중괄호 {}는 플레이스홀더(placeholder)입니다.
  • format() 메서드는 괄호 안에 들어온 인자(값)를 순서대로 중괄호에 삽입합니다.
  • 개수와 순서가 맞아야 오류가 발생하지 않습니다.

예제 분석

>>> '{} {}'.format(23, 2.12345)
'23 2.12345'
  • {} → 첫 번째 값인 23이 들어감.
  • {} → 두 번째 값인 2.12345가 들어감.
  • 결과적으로: '23 2.12345'라는 문자열이 생성됩니다.


위치 지정

값의 순서를 바꾸고 싶을 때는 인덱스를 명시할 수 있습니다.

'{1} {0}'.format(23, 2.12345)
# 결과: '2.12345 23'
  • {0}은 첫 번째 인자
  • {1}은 두 번째 인자


형식 지정자 (Format Specifiers)

{} 안에 : 다음에 형식을 지정할 수 있습니다.

형식  의미 예시 결과
d 정수로 출력 {0:d} → 23
f 고정 소수점(float) 출력 {1:f} → 2.123450
.2f 소수점 2자리까지 출력 {1:.2f} → 2.12
>10 오른쪽 정렬 + 총 10칸 확보 {:>10} → '         23'
<10 왼쪽 정렬 + 총 10칸 확보 {: <10} → '23        '
^10 가운데 정렬 + 총 10칸 확보 {:^10} → '     23     '


고급 예제

'ID: {:0>5d} | Value: {:.3f}'.format(42, 3.14159)
# 결과: 'ID: 00042 | Value: 3.142'
  • {:0>5d} : 총 5자리, 왼쪽을 0으로 채워 정수 출력
  • {:.3f} : 실수를 소수점 3자리까지 출력


정리

  • str.format()은 문자열 안에 동적으로 값을 삽입할 수 있게 해주는 강력한 도구입니다.
  • 위치 지정, 정렬, 소수점 조절 등의 다양한 표현이 가능합니다.
  • 복잡한 출력 형식이 필요한 상황에서 가독성 좋고 유연한 문자열 생성을 도와줍니다.