我们经常需要在代码中确定实例的类型。 type 函数可以返回具体的类型名称。在其他情况下,只需要知道实例是否属于某些类型之一。例如,要遍历一个对象,首先要确定该实例是否是元组、列表或字典等可迭代类型之一。这可以通过 isinstance 函数来实现。
isinstance(object,classinfo)
这个函数的功能简单的说就是判断object实例是否是classinfo类型的,如果是则返回TRUE,否则返回FALSE。classinfo参数有三种情况
1.类型,可以是基本的内置数据类型或自定义的类型,例如:
isinstance(object,str)
isinstance(object,classA)
2.新式类型(new-style class),即type object,相关介绍参见:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects
调用方式同上。
3.元组,根据元组的元素类型,可以这样混搭
1)元素是class或type object的元组,例如
isinstance(obj,(list,tuple))
2)元素本身是元组,例如
isinstance(obj,((classA,classB),(classC,classD),(classE,classF)))
3)元素本身是元组和class或type object的组合;
isinstance(obj,((classA,classB),(classC,classD),(classE,classF),str))
此外,如果 object 是由 classinfo 表示的类型或其元组中的类型的子类,则返回 TRUE。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何设置环境变量10/28
- ♥ python类装饰器的使用注意事项12/15
- ♥ python3.6的pip在哪里12/15
- ♥ python有多少高级函数?11/30
- ♥ python如何连接多个迭代器?09/19
- ♥ python中如何判断一个字符是否为字母08/12
内容反馈