作用

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。但是isinstance和type是有区别的:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。
  • 如果要判断两个类型是否相同推荐使用 isinstance()。

语法

isinstance(object, classinfo)

参数

object -- 实例对象。
classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

返回值

如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。

示例


In [1]: dicta = {'a':1,'b':2,'c':3}

In [2]: isinstance(dicta,dict)
Out[2]: True

In [3]: lista = [1,2,3,4,5]

In [4]: isinstance(lista,list)
Out[4]: True

In [5]: class abc:
   ...:     def funa():
   ...:         pass
   ...:     

In [6]: isinstance(abc,object)
Out[6]: True

In [7]: stra = "123456"

In [8]: isinstance(stra,int)
Out[8]: False
文章目录