4. Objects, Types, and Protocols
Python programs manipulate objects of various types. There are a variety of built-in types such as numbers, strings, lists, sets, and dictionaries. In addition, you can make your own types using classes. This chapter describes the underlying Python object model and mechanisms that make all objects work. Particular attention is given to the “protocols” that define the core behavior of various objects.
4.1 Essential Concepts
Every piece of data stored in a program is an object. Each object has an identity, a type (also known as its class), and a value. For example, when you write
a = 42, an integer object is created with the value of 42. The identity of the object is a number representing its location in memory; ...