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)))
    
  • 相关阅读:
    HTML5 JSDOM
    svn 基本操作
    Flex布局
    git上传布置代码 git优势
    jsonp, json区别
    require.js 模块化简单理解
    @vue/cli 3 安装搭建及 webpack 配置
    npm 常用命令 使用命令删除 node_modules 包
    package.json字段分析
    rem适配方案
  • 原文地址:https://www.cnblogs.com/huanyinglvtuan/p/12650180.html
Copyright © 2011-2022 走看看