Python之is和==的区别

== 比较的是两个对象的value值的异同,只要值相同则返回true,并不关心是否是同一个对象(id是否相同)。
is则直接比较对象,如果是同一个对象(即对象的id相同),则返回true
id():在内存中存储的位置
type:变量的类型
value:变量的值
==比较:type value
is比较:type value id

a = '1'
b = 1
a == b
False
a = '1'
b = a
a is b
True
a
'1'
b
'1'
li = [1,2,3]
li1 = li
li1
[1, 2, 3]
id(li)
140052349907400
id(li1)
140052349907400
li2 = li.copy()
li2
[1, 2, 3]
id(li2)
140052349056968
li == li1
True
li1 == li2
True
li2 is li
False
li2 is li1
False
li1 is li
True
    原文作者:若无其事的苹果
    原文地址: https://blog.csdn.net/qq_36016375/article/details/90697482
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞