Summary
This chapter has been about two special objects in
Python—classes and instances—and the language tools that
create and process them. Class objects are created with
class
statements, provide default behavior, and
serve as generators for multiple instance objects. Together, these
two objects support full-blown object-oriented development and code
reuse. In short, classes allow us to implement new objects, which
export both data and behavior.
In terms of their main distinctions, classes support multiple copies, specialization by inheritance, and operator overloading, and we explored each of these features in this chapter. Since classes are all about namespaces, we also studied the ways they extend module and function namespace notions. And finally, we explored a few object-oriented design ideas such as composition and delegation, by seeing how to implement them in Python.
The next chapter concludes our core language tour, with a quick look at exception handling—a simple tool used to process events, rather than build program components. As a summary and reference of what we learned in this chapter, here’s a synopsis of the terms we’ve used to talk about classes in Python:
- Class
An object (and statement) that defines inherited attributes
- Instance
Objects created from a class, which inherit its attributes, and get their own namespace
- Method
An attribute of a class object that’s bound to a function object
- self
By convention, the name given to the implied instance object in methods
- Inheritance ...
Get Learning Python 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.