zoukankan      html  css  js  c++  java
  • 面向对象-内置函数isinstance()和issubclass()

    # isinstance()  判断对象所属类型,包括继承关系
      用法:isinstance(对象名,类名)
    class A:pass
    class B(A):pass
    b = B()
    print(isinstance(b,B))    #Ture
    print(isinstance(b,A))    #Ture
    
    l = list()
    print(type(l))     #<class 'list'>
    class Mystr(str):pass
    ms = Mystr('alxe')
    print(ms)          #alxe
    print(type(ms) is str)     #False,不包含继承关系,只管一层
    print(isinstance(ms,str))     #Ture,包含所有的继承关系

    # print(type(ms) is str) # 不包含继承关系,只管一层
    # print(isinstance('alex',str)) # 包含所有的继承关系


    # == 值相等 值运算
    # is 内存地址相等 身份运算
    # is要求更苛刻
    # 不仅要求值相等,还要求内存地址相同
    a = 1111
    b = 1111
    if a == b:
        print(True)   #值相等,值运算
    if a is b:
        print(False)    #内存地址相等,身份运算
    # issubclass()  判断类与类之间的继承关系
      用法:issubclass(类名,类名)
    class A:pass
    class B(A):pass
    class C(B):pass
    print(issubclass(C,A))    #Ture
    print(issubclass(B,A))    #Ture
    print(issubclass(A,B))    #False
    
    
  • 相关阅读:
    android实现 服务器功能
    jQuery部分源码帮助理解
    jquery 2.0.3代码结构
    Mac下配置JAVA_HOME
    用户环境变量
    你的apk有多不安全
    JadClipse eclipse反编译插件
    vim 使用笔记
    Makefile简易模板
    Linux watch 监控系统状态
  • 原文地址:https://www.cnblogs.com/skydragon/p/11679774.html
Copyright © 2011-2022 走看看