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
本文探讨了Python中的`is`和`==`关键字的区别。`is`用于比较对象的标识(ID),而`==`则比较它们的值。即使值相同,对象的ID也可能不同。例如,当字符串'Hello'被创建两次时,它们的值相同但ID不同。然而,在某些情况下,如常量(如空字符串`''`或整数`0`),相同的值可能有相同的ID,表示它们在内存中共享同一个位置。

1827

被折叠的 条评论
为什么被折叠?



