더북(TheBook)

내장 함수 format과 str.format

파이썬 3부터는 %를 사용하는 오래된 C 스타일 형식화 문자열보다 더 표현력이 좋은 고급 문자열 형식화 기능이 도입됐다. 이 기능은 format 내장 함수를 통해 모든 파이썬 값에 사용할 수 있다. 예를 들어 다음 코드는 새로운 옵션(천 단위 구분자를 표시할 때 쓰는 ,와 중앙에 값을 표시하는 ^)을 사용해 값을 형식화한다.

a = 1234.5678
formatted = format(a, ',.2f')
print(formatted)

b = 'my 문자열'
formatted = format(b, '^20s')
print('*', formatted, '*')

>>>
1,234.57
*        my 문자열        *

str 타입에 새로 추가된 format 메서드를 호출하면 여러 값에 대해 한꺼번에 이 기능을 적용할 수 있다. %d 같은 C 스타일 형식화 지정자를 사용하는 대신 위치 지정자 {}를 사용할 수 있다. 기본적으로 형식화 문자열의 위치 지정자는 format 메서드에 전달된 인자 중 순서상 같은 위치에 있는 인자를 가리킨다.

key = 'my_var'
value = 1.234

formatted = '{} = {}'.format(key, value)
print(formatted)

>>>
my_var = 1.234
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.