python issubclass函数怎样判断参数?

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的结果,相信大家已经基本有所了解了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。