Chapter 29. Class Coding Details

If you haven’t quite gotten all of Python OOP yet, don’t worry; now that we’ve had a first tour, we’re going to dig a bit deeper and study the concepts introduced earlier in further detail. In this and the following chapter, we’ll take another look at class mechanics. Here, we’re going to study classes, methods, and inheritance, formalizing and expanding on some of the coding ideas introduced in Chapter 27. Because the class is our last namespace tool, we’ll summarize Python’s namespace and scope concepts as well.

The next chapter continues this in-depth second pass over class mechanics by covering one specific aspect: operator overloading. Besides presenting additional details, this chapter and the next also give us an opportunity to explore some larger classes than those we have studied so far.

Content note: if you’ve been reading linearly, some of this chapter will be review and summary of topics introduced in the preceding chapter’s case study, revisited here by language topics with smaller and more self-contained examples for readers new to OOP. Others may be tempted to skip some of this chapter, but be sure to see the namespace coverage here, as it explains some subtleties in Python’s class model.

The class Statement

Although the Python class statement may seem similar to tools in other OOP languages on the surface, on closer inspection, it is quite different from what some programmers are used to. For example, as in C++, the class statement is ...

Get Learning Python, 5th 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.