9.11. Objects and values¶
If we execute these assignment statements:
a = 'banana'
b = 'banana'
we know that
b both refer to a string,
but we don’t know whether they refer to the same string. There are two
In one case,
b refer to two different
objects that have the same value. In the second case, they refer to the
To check whether two variables refer to the same object, you can use the
In this example, Python only created one string object, and both
b refer to it.
But when you create two lists, you get two objects:
In this case we would say that the two lists are equivalent, because they have the same elements, but not identical, because they are not the same object. If two objects are identical, they are also equivalent, but if they are equivalent, they are not necessarily identical.
Until now, we have been using “object” and “value” interchangeably, but
it is more precise to say that an object has a value. If you execute
a = [1,2,3],
a refers to a list object whose
value is a particular sequence of elements. If another list has the same
elements, we would say it has the same value.