1. ==(!=)
判断两个对象的值是否相等, 不考虑内存地址问题
s1 = 'abc'
s2 = 'abc'
s3 = 'abd'
s4 = s1 + s2
s5 = s1 + s2
print('---地址相同, 值相同---')
print(id(s1), id(s2))
print(s1 == s2) # True
print('---地址不同, 值不同---')
print(id(s1), id(s2))
print(s1 == s3) # False
print('---地址不同, 值相同---')
print(id(s4), id(s5))
print(s4 == s5) # True
2. is(is not)
既需要值相等, 也需要地址相同
s1 = 'abc'
s2 = 'abc'
s3 = 'abd'
s4 = s1 + s2
s5 = s1 + s2
print('---地址相同, 值相同---')
print(id(s1), id(s2))
print(s1 is s2) # True
print('---地址不同, 值不同---')
print(id(s1), id(s2))
print(s1 is s3) # False
print('---地址不同, 值相同---')
print(id(s4), id(s5))
print(s4 is s5) # False