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
    
    
  • 相关阅读:
    MySQL命令2
    MySQL命令1
    前端之HTML1
    linux命令之df dh
    python call java jar
    redis-py中的坑
    YARN应用程序的开发步骤
    Yarn的服务库和事件库使用方法
    SSH无密码验证
    在centos 6.5 在virtual box 上 安装增强版工具
  • 原文地址:https://www.cnblogs.com/skydragon/p/11679774.html
Copyright © 2011-2022 走看看