is
和==
① is
比较的是左右两个值的id
是否相等
② ==
比较的是左右两个值的value
值是否相等
id和值的辨别:
1.变量的值不同,id一定不同
2.变量的值相同,id可以相同,也可以不同
3.id相同,变量的值一定相同(id相同,指向同一块内存地址,值一定相同)
4.id不同,变量的值可以相同,也可以不同(不同的内存地址可以放一样的值,也可以放不一样的值)
# 变量值不同,id一定不同
x = 'Hello'
y = 'World'
print(x) # Hello
print(y) # World
print(id(x)) # 2162720363272
print(id(y)) # 2162720363440
# 变量的值相同,id相同
x = 'Hello'
y = 'Hello'
print(x) # Hello
print(y) # Hello
print(id(x)) # 2717689369352
print(id(y)) # 2717689369352
# 变量的值相同,id不同
x = 'Hey guys,Welcome to my wrold!'
y = 'Hey guys,Welcome to my wrold!'
print(x is y) # False
print(x == y) # True
print(x) # Hey guys,Welcome to my wrold!
print(x) # Hey guys,Welcome to my wrold!
print(id(x)) # 1761887137280
print(id(y)) # 1652424584704