我们经常需要在Python代码中确定某个实例是什么类型的。通过type函数可以返回具体的类型名称。另有一些场景下,只需要知道实例是否属于某一些类型之一。例如要遍历一个对象,要先判断该实例是否为元组、列表或字典等可迭代类型之一。通过isinstance函数可以达到此目的。
isinstance(object,classinfo)
这个函数的功能简单的说就是判断object实例是否是classinfo类型的,如果是则返回TRUE,否则返回FALSE。classinfo参数有三种情况
1.类型,可以是基本的内置数据类型或自定义的类型,例如:
isinstance(object,str)
isinstance(object,classA)
2.新式类型(new-styleclass),即typeobject,相关介绍参见:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects
调用方式同上。
3.元组,根据元组的元素类型,可以这样混搭
1)元素是class或typeobject的元组,例如
isinstance(obj,(list,tuple))
2)元素本身是元组,例如
isinstance(obj,((classA,classB),(classC,classD),(classE,classF)))
3)元素本身是元组和class或typeobject的组合;
isinstance(obj,((classA,classB),(classC,classD),(classE,classF),str))
另外,如果object是classinfo所代表的类型或其元组中的类型的子类,同样返回TRUE。
以上内容为大家介绍了python培训之怎么判断某一对象是否为字典,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们