Chapter 7. Advanced Python

7.0 Introduction

In this chapter, we’ll explore some of the more advanced concepts in the Python language—in particular, object-oriented Python, reading and writing files, handling exceptions, using modules, and internet programming.

7.1 Formatting Numbers

Problem

You want to format numbers to a certain number of decimal places.

Solution

Apply a format string to the number.

For example:

>>> x = 1.2345678
>>> "x={:.2f}".format(x)
'x=1.23'
>>>

The result returned by the format method is a string, which will be displayed in the Terminal as we are working interactively. However, when using format in a program, it’s most likely to be inside a print statement, like this:

x = 1.2345678
print("x={:.2f}".format(x))

Discussion

The formatting string can contain a mixture of regular text and markers delimited by { and }. The parameters to the format function (there can be as many as you like) will be substituted in place of the marker, according to the format specifier.

In the preceding example, the format specifier is :.2f, which means that the number will be specified with two digits after the decimal place and is a float f.

If you wanted the number to be formatted so that the total length of the number is always seven digits (or padding spaces), you would add another number before the decimal place, like this:

>>> "x={:7.2f}".format(x)
'x=   1.23'
>>>

In this case, since the number is only three digits long, there are four spaces of padding before the ...

Get Raspberry Pi Cookbook, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.