• 获取对象的信息之内置函数issubclass() 和 isinstance()


    获取对象的信息之内置函数issubclass() 和 isinstance()

    """
    内置函数issubclass()用于判断类对象与类对象之间的关系
    内置函数isinstance()用于判断实例对象与类对象之间的关系
    """
    """
    内置函数issubclass接收两个实参
    第一个实参是类对象
    第二个实参是类对象或由类对象组成的元组
    当第二个实参是类对象时,如果第一个实参是第二个实参的子类,那么返回true
    当第二个实参是类对象组成的元组时,如果第一个实参是第二个实参中任意一个类对象子类,返回True
    """
    class A(object):
        pass
    
    class B(object):
        pass
    
    class C(object):
        pass
    
    class D(A):
        pass
    
    print(issubclass(D, A))
    print(issubclass(D, B))
    
    print(issubclass(D, (A, B, C)))
    print(issubclass(D, (B, C)))
    
    print(issubclass(bool, int)) # True
    print(issubclass(bool, str))
    
    print(issubclass(bool, (str, int, dict)))
    print(issubclass(bool, (str, list, dict)))
    
    """
    内置函数isinstance接收两个实参
    第一个实参是实例对象
    第二个实参是类对象或由类对象组成的元组
    当第二个实参是类对象时,如果第一个实参是第二个实参的实例对象,或者第一个实参是第二个实参的子类实例
    对象,那么返回True
    当第二个实参是类对象组成的元组时,如果第一个实参是第二实参中任意一个类对象或子类的实例对象
    那么返回True
    """
    
    print(isinstance(D(), D))
    print(isinstance(D(), A))
    
    print(isinstance(D(), (D, B, C)))
    print(isinstance(D(), (B, A, C)))
    
  • 相关阅读:
    C# AtomicInt
    Ubuntu16.04或18.04上安装QQ微信迅雷
    Git强制拉取覆盖本地 Pull force
    ulimit限制打开的文件数量
    centos 7.x设置守护进程的文件数量限制
    Apache Doris通过supervisor进行进程管理
    CentOS7 安装supervisor守护进程管理器
    fdisk 分区
    linux i2c tools
    ubuntu12.04 登录黑屏
  • 原文地址:https://www.cnblogs.com/huanyinglvtuan/p/12650180.html
Copyright © 2020-2023  润新知