서식 지정자에서 필드 너비와 정밀도는 생략할 수 있지만, 변환 코드는 반드시 지정해야 한다.
파이썬은 서식 지정자의 명령에 따라 두 번째 인수를 변환할 수 있어야 한다. 모든 데이터 타입은 str()
함수를 통해 문자열로 변환할 수 있으므로, 변환 코드 s
에 대해서는 제한이 없다. 그러나 이와 반대로 stdio.writef('%12d', 'Hello')
는 문자열을 정수로 변환할 수 없으므로 실행 시 TypeError
예외를 발생시킨다. 서식 지정자를 사용하는 예는 [표 1.5.2]를 참조하라.
▼ 표 1.5.2 stdio.writef() 서식 지정자 사용 예
데이터 타입 |
코드 |
리터럴 예 |
서식 문자열 예 |
변환된 문자열 |
정수형 |
d |
512 |
'%14d' '%-14d' |
' 512' '512 ' |
실수형 |
f e |
1595.1680010754388 |
'%14.2f' '%.7f' '%14.4e' |
' 1595.17' '1595.1680011' ' 1.5952e+03' |
문자열 |
s |
'Hello, World' |
'%14s' '%-14s' '%-14.5s' |
' Hello, World' 'Hello, World ' 'Hello ' |
서식 문자열에서 서식 지정자가 아닌 부분은 표준 출력 장치에 그대로 출력된다. 예를 들어 stdio.writef('pi의 값은 대략 %.2f\n이다.', math.pi)
문은 다음과 같이 출력한다.
pi의 값은 대략 3.14이다.
stdio.writef()
를 사용할 때는 줄을 바꾸려면 개행 문자(\n
)를 명시적으로 지정해야 한다.