type()

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

 

 

isinstance()

>>>a = 111
>>> isinstance(a, int)
True
>>> class A:
...     pass
... 
>>> class B(A):
...     pass
... 
>>> isinstance(A(), A)
True
>>> type(A()) == A 
True
>>> isinstance(B(), A)
True
>>> type(B()) == A
False

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

两种区别:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄