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 data
Within the
Get Learning Python, 2nd 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.