Code examples from this chapter are available from http://thinkpython.com/code/Time1.py.
As another example of a user-defined type, we’ll define a class
Time that records the time of
day. The class definition looks like this:
"""Represents the time of day.
attributes: hour, minute, second
We can create a new
and assign attributes for hours, minutes, and seconds:
The state diagram for the
object looks like Figure 16-1.
Write a function called
print_time that takes a Time object and prints
it in the form
Hint: the format sequence
'%.2d' prints an integer using at least two
digits, including a leading zero if necessary.
Write a boolean function called
is_after that takes two Time objects,
t2, and returns
t2 chronologically and
False otherwise. Challenge: don’t use an
Figure 16-1. Object diagram.
In the next few sections, we’ll write two functions that add time values. They demonstrate two kinds of functions: pure functions and modifiers. They also demonstrate a development plan I’ll call prototype and patch, which is a way of tackling a complex problem by starting with a simple prototype and incrementally dealing with the complications.
Here is ...