• 技术文章 >Python技术 >Python基础教程

    python issubclass函数怎样判断参数?

    小妮浅浅小妮浅浅2021-04-21 13:41:30原创2121

    1.说明:

    1)函数功能用于判断一个类型对象是否是另一个类型对象的子类,class参数表示需要检查的类型对象,calssinfo参数表示需要对比类型对象。  

    2)如果class参数是classinfo类型对象(或者classinfo类对象的直接、间接、虚拟子类)的实例,返回True。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    >>> issubclass(bool,int)

    True

    >>> issubclass(bool,(str))

    False

      

    >>> class A:

        pass

    >>> class B(A):

        pass

    >>> issubclass(B,A)

    True

    2.语法

    1

    issubclass(class, classinfo)

    3.参数

    4.返回值

    如果 class 是 classinfo 的子类返回 True,否则返回 False。

    5.实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

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

    (推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)


    专题推荐:issubclass函数 python
    上一篇:iter在python中迭代次数有限制吗? 下一篇:python中startswith函数是什么?

    相关文章推荐

    • 什么是网络协议• python中的去除重复项的操作• python中少见的函数map()和partial()• python的sort()排序方法• Python中的文件读写-理论知识

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网