首先先给出结论,
is,is not 比值一样,还要地址一样;
==,!=比值一不一样就可以。
by the way一下(我是小白)
=是赋值
大家猜一下:
print(0 ==0.0)
print(0 is 0.0)
print(0 is not 0.0)
结果:
True
False
True
那我们在来看一下是什么?
a =0
b =0.0
print(a ==b)
print(a is b)
print(id(a),id(b))
大家猜一下结果会是怎样的?
True
False
8791335359488 3584408
所以到这里就比较清晰看到,== 主要是以值为主的,包括0与0.0,都是一致的;不分整数与小数的方式;
而is 就以值地址,不仅值要一样,值地址也是一样的;因为0与0.00存的地址不一样,所以使用is给出结果是False;
网友评论