Python 中 == 和 is 的区别是什么?

发布于 2022-09-21 08:53:01
关注者
0
被浏览
40
4 个回答
  • 匿名网友
    匿名网友 2022-09-21
    is 比较的是 id 是不是一样,== 比较的是值是不是一样。 每个对象包含 3 个属性:id,type,value id 就是对象地址,可以通过内置函数 id() 查看对象引用的地址。 type 就是对象类型,可以通过内置函数 type() 查看对象的类型。 value 就是对象的值。 is 为 true 则一定有 == 为 true,,反过来 == 为 true 却不一定有 is 为 true 大多数情况下当用 is 和 == 的结果是一样时,用 is 的效率是会高于 == 的效率。
  • 匿名网友
    匿名网友 2022-09-21
    is是判断两个引用是不是同一个对象,等价与id(a) ==id(b),即内存地址是否相同。 ==是判断两个引用是否相等,等价于调用魔术方法a.\_\_eq\_\_(b),所以==可以通过\_\_eq\_\_方法重写,而is无法重写
  • 匿名网友
    匿名网友 2022-09-21
    等于是字符数字等值比较,is是内存地址是否一致。
  • 匿名网友
    匿名网友 2022-09-21
    简单说就是,a==b指a是不是和b一样,a is b指a是不是b
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看