Chapter 10. Oh Oh: Objects and Classes
No object is mysterious. The mystery is your eye.
Elizabeth Bowen
Take an object. Do something to it. Do something else to it.
Jasper Johns
As I’ve mentioned on various pages,
everything in Python,
from numbers to functions,
is an object.
However, Python hides most of the object machinery
by means of special syntax.
You can type num = 7
to create an object of type integer with the value 7,
and assign
an object reference to the name num
.
The only time you need to look inside objects is
when you want to make your own or
modify the behavior of existing objects.
You’ll see how to do both in this chapter.
What Are Objects?
An object is a custom data structure containing both data (variables, called attributes) and code (functions, called methods). It represents a unique instance of some concrete thing. Think of objects as nouns and their methods as verbs. An object represents an individual thing, and its methods define how it interacts with other things.
For example,
the integer object with the value
7
is an object that facilitates methods
such as addition and multiplication,
as you saw in Chapter 3.
8
is a different object.
This means there’s an integer class built in somewhere in Python,
to which both 7
and 8
belong.
The strings 'cat'
and 'duck'
are also objects
in Python, and have string methods that
you’ve seen in Chapter 5,
such as capitalize()
and replace()
.
Unlike modules, you can have multiple objects (often referred to as instances ...
Get Introducing 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.