为了账号安全,请及时绑定邮箱和手机立即绑定

《Python核心编程》中 `type(a)== type(b)` 与 `type(a) is type(b)`的区别

《Python核心编程》中 `type(a)== type(b)` 与 `type(a) is type(b)`的区别

慕侠2389804 2019-02-23 17:16:33
type(a)== type(b) 与 type(a) is type(b)的区别,为什么用后者不用前者呢?
查看完整描述

5 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

is check 两边的值是否为同一对象. == 实际上call了左值的__eq__(), 然后pass给右值.

查看完整回答
反对 回复 2019-03-01
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

== 是比大小
is 是找地址
找地址更快、高效

查看完整回答
反对 回复 2019-03-01
?
九州编程

TA贡献1785条经验 获得超4个赞

type(a) == type(b) : a,b继承的类 (类也是基类的实例) 值相等 就像:

c = [1,2,3]
d = [1,2,3]
c == d
>>> True
c is d
>>> false

type(a) == type(b): a,b继承的类 是同一个实例(内存地址相同)就像

c = 1
d = 1
c == d
>>> True
c is d
>>> True
查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 561 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信