• 【python】内置函数——isinstance()/issubclass()判断参数1是否是参数2类型


    python提供内置函数isinstance()判断一个对象是否是一个已知的类型,issubclass()判断某个类是否是另一个类的子类。

    1. isinstance()—判断一个对象是否是一个已知的对象

    isinstance()类似type(),但不同的是type()不会认为子类是一种父类类型,不考虑继承关系,而isinstance()会认为子类是一种父类关系,考虑继承关系。isinstance()语法格式:

    isinstance(object,classinfo)

    函数参数:

    • object——实例对象;
    • classinfo——可以是直接或间接类型,基本类型或者由它们组成的元组;对于基本类型来说,classinfo可以是:int, float, bool, comples, str(字符串), list, dict(字典), set, tuple;

    返回值:如果对象的类型与参数二的类型相同,则返回True,否则返回False。

    使用示例:

    1. a=2
    2. print(isinstance(a,int)) # 输出 True
    3. print(isinstance(a,str)) # 输出 False
    4. print(isinstance('str',str)) # 输出 True
    5. print(isinstance(3.14,float)) # 输出 True
    6. # 判断是元组中的一个
    7. print(isinstance(a,(int,str,float))) # 输出 True

    isinstance()与type()的区别:

    1. class A(object):
    2. pass
    3. class B(A):
    4. pass
    5. print(isinstance(A(),A)) # 输出 True
    6. print(type(A()) == A) # 输出 True
    7. print(isinstance(B(),A)) # 输出 True
    8. print(type(B()) == A) # 输出 False

    2. issubclass()—判断一个类是否是另一个类的子类

    issubclass()用来判断参数class是否是参数classinfo的子类。issubclass()的语法格式:

    issubclass(class,classinfo)

    函数参数:

    • class:类名
    • classinfo:类名

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

    使用示例:

    1. class A(object):
    2. pass
    3. class B(A):
    4. pass
    5. print(issubclass(B,A)) # 输出 True
    6. print(issubclass(A,object)) # 输出 True

    参考:Python 内置函数 | 菜鸟教程 (runoob.com)

  • 相关阅读:
    UVA11022 String Factoring(kmp+字符串周期+区间dp)
    【vue3】:前端登录功能解决方案
    《动机与人格》笔记(二)——认识和理解的欲望
    Spring Boot事务
    C++——C++入门(二)
    深度学习【使用seq2seq实现聊天机器人】
    docker 复习
    3A开关降压型单节充电管理芯片CS5308D
    对比分析小游戏引擎孰优孰劣
    在家怎么连接学校电脑的相关部署?
  • 原文地址:https://blog.csdn.net/sinat_41752325/article/details/126903695