Python中的is和==的区别,==判断值是否相等,is判断地址是否一致

时间:2021-03-02 13:21:11

Python中的is和==的区别

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

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

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

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

看下边的例子:

>>> s=set("1234")

>>> s

set(['1', '3', '2', '4'])

>>> ss=s.copy()

>>> ss

set(['1', '3', '2', '4'])

>>> s == ss

True

>>> s is ss

False

>>> id(s)

92071976L

>>> id(ss)

92251528L