in python, x is y return ture when x and y are the same object
>>> a = "5"
>>> b = "5"
>>>
>>> a is b
True
>>>
>>> c = a + b
>>> c
'55'
>>> d = b + a
>>> d
'55'
>>>
>>> c is d
False
>>>
To what I understand, a and b are two different objects, but why a is b return True and c is d return False?
Even we regard both a and b as string objects with the same content to explain why a is b return true, why c is d return false then?