Python String Formatting options (Document version 1.0 22.Sep
2000 by R.Kirsch)
%[(name)][flag][width][.precision][code]
>>> "%d_%c_%s" % (12.4,'A','abc')
'12_A_abc'
width
(non decimal): minimal total field width
flag |
description |
format |
data |
output |
- |
left justify |
'%-4d' |
12 |
'12 ' |
+ |
numeric sign |
'%+4d' |
12 |
' +12' |
0 |
zero fill |
'%04d' |
12 |
'0012' |
flag |
description |
format |
data |
output |
code |
description |
format |
data |
output |
%c |
character |
'%4c' |
'a' |
' a' |
%s |
string (or any object) |
'%5.3s' |
'abcd' |
' abc' |
%i |
decimal integer |
'%5d' |
1234 |
' 1234' |
%d |
decimal integer |
'%5i' |
1234 |
' 1234' |
%u |
unsigned integer |
'%u' |
4.5 |
'4' |
%o |
octal integer |
'%o' |
9 |
'11' |
%x |
hex integer (lowercase) |
'%x' |
0x12ab |
'12ab' |
%X |
hex integer (uppercase) |
'%X' |
0x12ab |
'12AB' |
%e |
floating point |
'%e' |
1234.34 |
'1.234340e+03' |
%E |
floating point |
'%E' |
1234.34 |
'1.234340E+03' |
%f |
floating point |
'%f' |
1234.34 |
'1234.340000' |
%g |
floating point |
'%g' |
1234.34 |
'1234.34' |
%G |
floating point |
'%G' |
1234.34 |
'1234.34' |
code |
description |
format |
data |
output |
%c - character
>>> '%c' % 'a'
'a'
>>> '%c' % 'abc'
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: %c requires int or char
>>> '%c' % '\x40'
'@'
>>> '%4c' % 'a'
' a'
String escape codes
character |
description |
\ |
(ignored) continuation character |
\\ |
backslash |
\' |
single quote |
\" |
double quote |
\a |
bell |
\b |
backspace |
\e |
escape key |
\0 |
null (does not end string) |
\n |
linefeed |
\v |
vertical tab |
\t |
horizontal tab |
\r |
carriage return |
\f |
formfeed |
\0nn |
octal value |
\xnn |
hex value |
\other |
any other character |
character |
description |
%s - string (or other expressions auto-converted to string)
>>> '%s' % 'hello, world'
'hello, world'
>>> '%10s' % 'hello, world'
'hello, world'
>>> '%.10s' % 'hello, world'
'hello, wor'
>>> '%-10s' % 'hello, world'
'hello, world'
>>> '%.15s' % 'hello, world'
'hello, world'
>>> '%-15s' % 'hello, world'
'hello, world '
>>> '%-15.10s' % 'hello, world'
'hello, wor '
>>> '%15.10s' % 'hello, world'
' hello, wor'
Usage of %% in formatting strings
represents a % character
>>> '%%%c' % 'A'
'%A'
Usage of (name):
>>> '%(n)d %(x)s' % {'n':4, 'x':'alfa'}
'4 alfa'