This chapter is from the book

This chapter is from the book

All the
data
stored
in a
Python
program
is built
around
the
concept
of an object.
Objects
include
fundamental
data
types
such
as numbers,
strings,
lists,
and
dictionaries.
It's
also
possible
to create
user-defined
objects
in the
form
of classes
or extension
types.
This
chapter
describes
the
Python
object
model
and
provides
an overview
of the
built-in
data
types.
Chapter
4, "Operators
and
Expressions," further
describes
operators
and
expressions.

Terminology

Every piece of data stored in a program is an object. Each object has an
identity, a type, and a value.

For example, when you write a = 42, an integer object is created
with the value of 42. You can view the identity of an object
as a pointer to its location in memory. a is a name that refers to this
specific location.

The type of an object (which is itself a special kind of object)
describes the internal representation of the object as well as the methods and
operations that it supports. When an object of a particular type is created,
that object is sometimes called an instance of that type. After an
object is created, its identity and type cannot be changed. If an object’s
value can be modified, the object is said to be mutable. If the value
cannot be modified, the object is said to be immutable. An object that
contains references to other objects is said to be a container or
collection.

In addition to holding a value, many objects define a number of data
attributes and methods. An attribute is a property or value associated
with an object. A method is a function that performs some sort of
operation on an object when the method is invoked. Attributes and methods are
accessed using the dot (.) operator, as shown in the following
example: