id:在内存中存储的位置
type:变量的类型
value:变量的值
== :type,value
is:type,value,id
结论:
is 表示两个变量的值是否在同一块内存空间
== 表示的是值是否相等
总结: is 返回的值是True ==返回的一定是true
In [1]: a = '1'
In [2]: b = 1
In [3]: a == b
Out[3]: False
In [4]: a = '1'
In [5]: b = a
In [6]: a is b
Out[6]: True
In [7]: li = [1,2,3]
In [8]: li1 = li
In [9]: li == li1
Out[9]: True
In [10]: li2 = li.copy() #.copy id会变成一个新的
In [11]: id(li)
Out[11]: 140233732343752
In [12]: id(li1)
Out[12]: 140233732343752
In [15]: id(li2)
Out[15]: 140233732186888
In [16]: id(li1)
Out[16]: 140233732343752
In [17]: id(li)
Out[17]: 140233732343752
In [18]: li2
Out[18]: [1, 2, 3]
In [19]: li
Out[19]: [1, 2, 3]
In [20]: li1
Out[20]: [1, 2, 3]
In [21]: li == li1
Out[21]: True
In [22]: li == li2
Out[22]: True
In [23]: li1 == li2 # == 是值相等
Out[23]: True
In [24]: li2 is li #is 是值和id都要相等
Out[24]: False
In [25]: li2 is li1
Out[25]: False
In [26]: li1 is li
Out[26]: True