判断数据类型的两种方法

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

 

 

两种区别:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。
posted @ 2019-04-15 16:20  夜色迟暮  阅读(193)  评论(0编辑  收藏  举报