python中is和==的区别
python中is和==的区别
id():在内存中存储的位置
type():变量的类型
==和is都要比较value值和数据类型,而不同的是is除了比较这两个以外还要比较id是否相等(即是否用一段内存地址空间)
==:type value
is:type value id
举例1:
a和b类型不同,所以a== b返回False
当a和b类型相同,value值相等时,a == b
当a和b共用一块内存地址空间时(即id(a)=id(b)),a is b
举例2:
li和li1类型相同且id相同时:li1== li;li1 is li
li和li2类型相同但id不相同时:li2 == li;而li2 is li为false