最新公告
  • 年底活动:凡在本站购买过源码超过99元的老用户,可免费领取1张99元优惠券,用于抵扣开通会员!升级SVIP
  • 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的结果,相信大家已经基本有所了解了。

    转载自:python学习网 https://www.py.cn/

    找互联网优质资源,上知事网!
    知事网 » python issubclass函数怎样判断参数?

    发表评论

    • 2830会员总数(位)
    • 2519资源总数(个)
    • 269本周发布(个)
    • 28 今日发布(个)
    • 3560稳定运行(天)

    提供最优质的资源集合

    Mac软件 Dedecms源码
    升级SVIP尊享更多特权立即升级