为什么不推荐使用 type
2018-04-11 本文已影响0人
智勇双全的小六
因为 type 不能判断 subclass
class A:
pass
class B(A):
pass
a = A()
b = B()
使用 type(a)
, 返回的是 <class 'A'>
使用 type(B())
,返回的是<class 'B'>
当我们判断类型是为了查看 b 是不是有某些方法时,这样写会返回 False
type(b) == A
// False
isinstance(b,A)
// True