一.is和==的区别
== 用于判断引用变量的值是否相等。只判断值和数据类型
is 用于判断两个变量引用对象是否为同一个,就是所引用的对象的内存地址是否一致
>>> a = '1'
>>> b = 1
>>> a == b ##a、b的变量类型不同,则判断为假
False
>>> a = '1'
>>> b = a ##将a赋值给b,此是b的值及类型与a相同,并且引用的对象为同一个‘1’则返回为True
>>> a is b
True
>>> a
'1'
>>> b
'1'
>>> li = [1,2,3]
>>> li1 = li ##将li赋值给li1,则li1与li的值及数据类型相同,同时两列表引用同一个列表
>>> li1
[1, 2, 3]
>>> id(li)
139695752176392 ##两列表指定的为同一内存地址
>>> id(li1)
139695752176392
>>> li2 = li.copy() ##li2与li类型数据相同但内存地址不同
>>> li2
[1, 2, 3]
>>> id(li1)
139695752176392
>>> li == li1
True
>>> li1 == li2
True
>>> li2 is li
False
>>> li2 is li1
False
>>> li1 is li
True
二.