首先, 明确以下三个知识点 id -> 返回对象的'唯一标识符' == -> 比较操作符,比较判断两个对象的value(值)是否相等 is -> 同一性运算符,判断id是否相同
实验
总结
> a is b,实际上是做 id(a)==id(b) 运算
> a == b,实际上比较的是id(a)这个地址指向的值(内存地址)是不是和id(b)这个地址指向值一样
> 只有数值型和字符串型的情况下(a和b的value相等),a is b才为True,当a和b是tuple,list,dict或set型 时,a is b为False
> python为了实现对内存的有效利用,对小整数[-5,256]内的整数会进行缓存,不在该范围内的则不会缓存
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96312