Chapter 21. Class Coding Details
Did all of Chapter 20 make sense? If not, don’t worry; now that we’ve had a quick tour, we’re going to dig a bit deeper and study the concepts we’ve introduced in further detail. This chapter takes a second pass, to formalize and expand on some of the class coding ideas introduced in Chapter 20.
The Class Statement
Although the Python class statement seems similar
to other OOP languages on the surface, on closer inspection it is
quite different than what some programmers are used to. For example,
as in C++, the class statement is
Python’s main OOP tool. Unlike C++,
Python’s class is not a
declaration. Like def, class 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 def, class is true
executable code—your class doesn’t exist until
Python reaches and runs the class statement
(typically, while importing the module it is coded in, but not
until).
General Form
class is a compound statement with a body of
indented statements usually under it. In the header, superclasses are
listed in parentheses after the class name, separated by commas.
Listing more than one superclass leads to multiple inheritance (which
we’ll say more about in the next chapter). Here is
the statement’s general form:
class <name>(superclass,...): # Assign to name.
data = value # Shared class data
def method(self,...): # Methods
self.member = value # Per-instance dataWithin the
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access