在类的判断中,需要对子类和类型对象两个方面进行对比,然后再输出最后的结果。这里我们有特定的函数issubclass可以实现,它会在判断结束后直接输出。下面我们就issubclass函数的用法说明、语法等进行讲解,然后带来判断参数的代码实例。
1.说明:
(1)函数功能用于判断一个类型对象是否是另一个类型对象的子类,class参数表示需要检查的类型对象,calssinfo参数表示需要对比类型对象。
(2)如果class参数是classinfo类型对象(或者classinfo类对象的直接、间接、虚拟子类)的实例,返回True。
>>> issubclass(bool,int) True >>> issubclass(bool,(str)) False >>> class A: pass >>> class B(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。 class A: pass class B(A): pass class C(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的结果,相信大家已经基本有所了解了。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!