python中“is“和”==“的区别

Python中的对象包含三要素:id、type、value。

其中:id用来唯一标识一个对象,type标识对象的类型,value是对象的值。

is判断的是a对象是否就是b对象,是通过id来判断的。

==判断的是a对象的值是否和b对象的值相等,是通过value来判断的。

举个例子:

>>> a = [1,2,3]
>>> import copy
>>> b = copy.copy(a)
>>> a == b
True
>>> a is b
False
>>> id(a)
4553051456
>>> id(b)
4553137040

a和b的值是相同的,故a==b为true,而a和b的id是不同的,故a is b是false。

猜你喜欢

转载自blog.csdn.net/qq_42711214/article/details/82689611