: behavior of data types and operations for mutable and immutable objects in python language The examples and explanations in this post have the following specifications: environment: vagrant virtual machine with linux 14.04.5 LTS for Ubuntu language: Python 3.6.1 (default, Nov 17 2016, 01:08:31) compiler: gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 Python docs at docs.python.org describes: all data in a python program is represented by objects or by relations between objects. docs.python.org, further explains this concept in reference to PyObject and PyVarObject: PyObject All object types are extensions of this type. This is a type which contains the information Python needs to treat a pointer to an object as an object. In a normal “release” build, it contains only the object’s reference count and a pointer to the corresponding type object. It corresponds to the fields defined by the expansion of the PyObject_HEAD macro. PyVarObject This is an extension of PyObject that adds the ob_size field. […]
read more