python中is和==的区别

2019-01-22  本文已影响0人  启蒙时代

1==1

True

1 is 1

True

这是不是意味着==和is没有区别呢?答案是否定的。

==和is都是运算符,但区别还是有的。

python中的对象包含三个要素:

1,id身份

2,type类型

3,value值

下面,以实例调试:

例1:

a="1"

b="1"

print(id(a))

print(id(b))

a==b

True

a is b

True

例2:

a=[1,2,3]

b=[1,2,3]

print(id(a))

print(id(b))

a==b

True

a is b

False

由此可见,==对比的是值,而is还包括身份。

上一篇 下一篇

猜你喜欢

热点阅读