有人可以向我解释一下如何在Python中确定某些String变量是否引用同一个对象?
例如,我声明了以下变量:
a = "abc"
b = "a" + "b" + "c"
x = ["a","b","c"]
c = x[0] + x[1] + x[2]
d = "12345678901234567890"
e = "1234567890" + "1234567890"
f = "123456789012345678901234567890"
g = "1234567890" + "12345678901234567890"
为什么a
和b
具有相同的身份,但不是a
和c
?与此一致,为什么d
和e
引用相同的对象,但f
和g
不是?
有没有办法概括在哪种情况下两个字符串的标识将会或不会相同?