python issubclass函数怎样判断参数?

在类的判断中,需要对子类和类型对象两个方面进行对比,然后再输出最后的结果。这里我们有特定的函数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的结果,相信大家已经基本有所了解了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值