From the Python documentation
For immutable types [like strings], operations that compute new
values may actually return a reference to any existing object with the
same type and value. E.g., after a = 1; b = 1
, a
and b
may or
may not refer to the same object with the value one, depending on the
implementation...