python中is和==的区别

Python中的对象包含三要素:idtypevalue

  • id用来唯一标识一个对象
  • type标识对象的类型
  • value是对象的值。

is 通过id来判断对象是否相等

== 通过value来判断值是否相等

例:

1
2
3
4
5
6
7
>>> a = {1:2}
>>> b = a.copy()
>>> a is b
False
>>> a == b
True
>>>