If you haven’t quite gotten all of Python OOP yet, don’t worry; now that we’ve had a quick 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 26. Because the class is our last namespace tool, we’ll summarize Python’s namespace concepts here as well.
The next chapter continues this in-depth second pass over class mechanics by covering one specific aspect: operator overloading. Besides presenting the details, this chapter and the next also give us an opportunity to explore some larger classes than those we have studied so far.
Although the Python
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 Python’s main OOP tool,
but unlike in C++, Python’s
is not a declaration. Like a
class statement is an object
builder, and an implicit assignment—when run, it generates a class
object and stores a reference to it in the name used in the header.
Also like a
class statement is true executable code—your
class doesn’t exist until Python reaches and runs the
class statement that defines it (typically while ...