04.08.2014 Views

o_18ufhmfmq19t513t3lgmn5l1qa8a.pdf

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 3 ■ WORKING WITH STRINGS 57<br />

Table 3-1. String Formatting Conversion Types<br />

Conversion Type Meaning<br />

d, i Signed integer decimal<br />

o<br />

Unsigned octal<br />

u<br />

Unsigned decimal<br />

x<br />

Unsigned hexadecimal (lowercase)<br />

X<br />

Unsigned hexadecimal (uppercase)<br />

e<br />

Floating point exponential format (lowercase)<br />

E<br />

Floating point exponential format (uppercase)<br />

f, F Floating point decimal format<br />

g<br />

Same as e if exponent is greater than –4 or less than precision, f otherwise<br />

G<br />

Same as E if exponent is greater than –4 or less than precision, F otherwise<br />

c<br />

Single character (accepts integer or single character string)<br />

r<br />

String (converts any Python object using repr)<br />

Width and Precision<br />

A conversion specifier may include a field width and a precision. The width is the minimum<br />

number of characters reserved for a formatted value, while the precision is (for a numeric<br />

conversion) the number of decimals that will be included in the result, or (for a string conversion)<br />

the maximum number of characters the formatted value may have.<br />

These two parameters are supplied as two integer numbers (width first, then precision),<br />

separated by a . (dot). Both are optional, but if you want to supply only the precision, you must<br />

also include the dot:<br />

>>> '%10f' % pi # Field width 10<br />

' 3.141593'<br />

>>> '%10.2f' % pi # Field width 10, precision 2<br />

' 3.14'<br />

>>> '%.2f' % pi # Precision 2<br />

'3.14'<br />

>>> '%.5s' % 'Guido van Rossum'<br />

'Guido'<br />

You can use an * (asterisk) as the width or precision (or both), in which case the number<br />

will be read from the tuple argument:<br />

>>> '%.*s' % (5, 'Guido van Rossum')<br />

'Guido'

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!