B9_Python中 is 和 == 的区别

对象比较的两种方式

1. is 比较详解

  1. is 比较的是两个实例对象是不是同一个对象,也就是说两个对象的地址是否是相同的.
  2. 如果 objA is objB = True 等同于 id(objA) == id(objB)

2. == 比较详解

== 比较的是两个实例对象的值是否相等,比较的是内存中存放的内容,可以不是同一个对象,只要内容一样就可以了

两种方式的对比

  1. 我们通常关心的是对象的内容,不是地址,因此==is的使用频率更大
  2. is通常用来和None进行比较. a is None or a is not None
  3. is 比较的是两个对象的内存地址是否相同,也就是计算它们的id(obj1)id(obj2)是否相同
  4. == 比较的是两个对象的内容是否相同

Guess you like

Origin blog.csdn.net/Fioman_GYM/article/details/120612488