In this chapter, we discuss how to make and use our own modules, like the random module we used in
Chapter 3. We also discuss how Python implements object orientation, which allows programs to be structured
into classes, each responsible for its own behavior. This helps to keep a check on the complexity of our pro-
grams and generally makes them easier to manage. The main mechanisms for doing this are classes and meth-
ods. You have already used built-in classes and methods in earlier chapters without necessarily knowing it.