python中is的用法不太明白

img

img

python中is怎么用呢
为什么这个答案是false呢
谢谢大家~

is 看的是地址,== 看的是值

可以参考一下这篇博客:https://blog.csdn.net/L_J_Kin/article/details/124184990


== 是比较两个对象的内容是否相等,如果里面的值都相等,则返回 True;而 is 是看两者在内存中的引用地址是否一样,如果内存中的地址一致则返回 True。

举个例子:

a = [12, 3, 4, 5, 6, 78, 9]
b = a
print (a == b)
print (a is b)
 
c = [12, 3, 4, 5, 6, 78, 9]
print (a == c)
print (a is c)

输出结果为:

>>> 
True
True
True
False
>>> 

is判断两个对象是否指向内存中的同一地址, 这里string和list当然是两个不同的对象