zoukankan      html  css  js  c++  java
  • 获取对象的信息之内置函数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)))
    
  • 相关阅读:
    PageRank
    Web挖掘
    无监督学习
    Activiti 学习笔记记录(2016-8-31)
    Activiti 学习笔记记录(二)
    Activiti 学习笔记记录
    Mybatis + SpringMVC + Maven实现分页查询
    Jquery.min.js 下载
    使用Apache Archiva搭建Maven Repository Server
    SpringMVC 参数传递
  • 原文地址:https://www.cnblogs.com/huanyinglvtuan/p/12650180.html
Copyright © 2011-2022 走看看