더북(TheBook)

각 위치 지정자에는 콜론 뒤에 형식 지정자를 붙여 넣어 문자열에 값을 넣을 때 어떤 형식으로 변환할지 정할 수 있다(모든 형식 지정자에 대한 정보를 보고 싶으면 help('FORMATTING') 참고).

formatted = '{:<10} = {:.2f}'.format(key, value)
print(formatted)

>>>
my_var      = 1.23

위치 지정자를 적용한 결과는 그 위치에 해당하는 값과 : 뒤에 있는 형식 지정자를 format 내장 함수에 전달해 얻은 결과(따라서 앞의 예에서 {:.2f}format(value, '.2f'))와 같다. 이 결과가 형식화된 전체 문자열의 해당 위치 지정자 부분을 대신한다. 특별 메서드인 __format__을 사용해 클래스별로 형식화 방식을 커스텀화할 수 있다.

C 스타일 형식화 문자열에서 % 문자를 표시하고 싶으면 %가 형식 지정자로 해석되지 않도록 %%로 이스케이프해야 한다. 마찬가지로 str.format을 사용할 때는 중괄호를 이스케이프해야 한다.

print('%.2f%%' % 12.5)
print('{} replaces {{}}'.format(1.23))

>>>
12.50%
1.23 replaces {}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.