【文件属性】:
文件名称:类实例和其他对象的内建函数-qt教学大纲
文件大小:5.26MB
文件格式:PDF
更新时间:2021-06-04 01:59:55
python 核心编程 中文版 高清文字版
13.12 类、实例和其他对象的内建函数
13.12.1 issubclass()
issubclass() 布尔函数判断一个类是另一个类的子类或子孙类。它有如下语法:
issubclass(sub, sup)
issubclass() 返回True的情况:给出的子类sub确实是父类sup的一个子类(反之,则为False)。
这个函数也允许“不严格”的子类,意味着,一个类可视为其自身的子类,所以,这个函数如果当
sub 就是 sup,或者从 sup 派生而来,则返回 True。(一个“严格的”子类是严格意义上的从一个类
派生而来的子类。)
从 Python 2.3 开始,issubclass()的第二个参数可以是可能的父类组成的 tuple(元组),这时,
只要第一个参数是给定元组中任何一个候选类的子类时,就会返回 True。
13.12.2 isinstance()
isinstance() 布尔函数在判定一个对象是否是另一个给定类的实例时,非常有用。它有如下
语法:
isinstance(obj1, obj2)
isinstance()在 obj1 是类 obj2 的一个实例,或者是 obj2 的子类的一个实例时,返回 True
(反之,则为 False),看下面的例子:
>>> class C1(object): pass
...
>>> class C2(object): pass
...
>>> c1 = C1()
>>> c2 = C2()
>>> isinstance(c1, C1) True
>>> isinstance(c2, C1) False
>>> isinstance(c1, C2) False
>>> isinstance(c2, C2) True
>>> isinstance(C2, c2) Traceback (innermost last):