from __future__ import print_function

x = "abcd"
print(x)     # abcd

x = x + "ef"
print(x)     # abcdef

y = x
print(y)     # abcdef
x = "xyz"
print(x)     # xyz
print(y)     # abcdef

When assigning a variable pointing a string, the new variable is pointing to the same string.. If we then assign some other string to either of the variables, then they will point to two different strings.