您的位置:首页 > 编程语言 > Python开发

Python的内置函数之isinstance( ) 和 issubclass( )

2018-03-23 09:50 330 查看

isinstance()函数

描述:

    Python 中的isinstance函数,isinstance是Python中的一个内建函数。是用来判断一个对象的变量类型。

语法:

以下是 isinstance() 方法的语法:    isinstance(object, classinfo)

参数:

object -- 实例对象。
classinfo -- 可以是直接或间接类名、基本类型或者有它们组成的元组。
返回值:      官方定义:如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。

理解:如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False。如果classinfo不表示一个类(类型对象), 那么它要么是一个类的元组, 或者递归地包含这样的(由数据类型构成的)元组.其他的序列类型是不被允许的。实例:
>>>a = 2
>>> isinstance (a,int)True
>>> isinstance (a,str)False
>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True

type() 与 isinstance()区别:

class A:   
pass 
class B(A):    

pass 

isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

issubclass( )函数

描述

issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。

语法

以下是 issubclass() 方法的语法:issubclass(class, classinfo)

参数

class -- 类。
classinfo -- 类。

返回值

如果 class 是 classinfo 的子类返回 True,否则返回 False。

实例

以下展示了使用函数的实例:class A:   
pass
class B(A):    
pass    
print(issubclass(B,A))    # 返回 True
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: