1.说明:
(1)函数功能用于判断一个类型对象是否是另一个类型对象的子类,class参数表示需要检查的类型对象,calssinfo参数表示需要对比类型对象。
(2)如果class参数是classinfo类型对象(或者classinfo类对象的直接、间接、虚拟子类)的实例,返回True。
>>>issubclass(bool,int) True >>>issubclass(bool,(str)) False >>>classA: pass >>>classB(A): pass >>>issubclass(B,A) True
2.语法
issubclass(class,classinfo)
3.参数
-
class -- 类。
-
classinfo -- 类。
4.返回值
如果 class 是 classinfo 的子类返回 True,否则返回 False。
5.实例
#issubclass(class,classinfo)
#如果class是classinfo的(直接、间接或虚拟)子类则返回True。类会被视作其自身的子类。classinfo也以是类对象的元组,在此情况下classinfo中的每个条目都将被检查。在任何其他情况下,都将引发TypeError异常。
#如果class是classinfo的(直接、间接或虚拟)子类则返回True。
classA:
pass
classB(A):
pass
classC(B):
pass
print(f'{issubclass(B,A)=}')
print(f'{issubclass(C,B)=}')
print(f'{issubclass(C,A)=}')
print(f'{issubclass(C,int)=}')
#类会被视作其自身的子类。
print('---')
print(f'{issubclass(A,A)=}')
#classinfo也以是类对象的元组,在此情况下classinfo中的每个条目都将被检查。
print('-----')
print(f'{issubclass(B,(int,str))=}')
print(f'{issubclass(B,(int,str,A))=}')
print(f'{issubclass(B,(int,str,(float,A)))=}')
#在任何其他情况下,都将引发TypeError异常。
print('-----------')
#print(f'{issubclass(B,123)=}')
#print(f'{issubclass(B,[int,str,A])=}')
以上就是我们使用issubclass函数判断参数的方法,根据是否属于另一个类的子类,输出true或者是false的结果,相信大家已经基本有所了解了。