定义一个子类和父类

class A:
pass
class B(A):
pass

  

is

print(type(b) is B)
# 结果: True print(type(b) is A)
# 结果: False

is 通过"type"可以判断两个类型是否相等, 只会判断绝对相等, 而不去关心父类是谁.

isinstance

print(isinstance(b, B))
#结果: True
print(isinstance(b, A))
#结果: True

isinstance 会对这个对象进行"刨祖坟"式的判断, 先判断本类, 在判断父类, 一直判断, 直到object

issubclass

class A:
pass
class B(A):
pass
class C(B):
pass print(issubclass(C, B))
# 结果: True print(issubclass(C, A))
# 结果: True

判断一个是是否是另外一个类的子类, 也是"刨祖坟"式的判断

最新文章

  1. 【Alpha版本】冲刺阶段——Day 10
  2. Element is not currently interactable and may not be manipulated
  3. web sql database数据存储位置
  4. Xcode模拟器怎么模拟定位?
  5. STL迭代器之一:偏特化
  6. redis发布订阅
  7. 7,SFDC 管理员篇 - 数据模型 - 公式和验证 1
  8. 【BZOJ】【1026】【SCOI2009】Windy数
  9. 几本不错的CPU设计以及VLSI的书籍
  10. schedule()函数的调用时机(周期性调度)
  11. javaSE_07Java中类和对象-封装特性
  12. R语言-单一变量分析
  13. 使用.NetCore 控制台演示 熔断 降级(polly)
  14. MySQL对以特定名字开头的数据库进行授权
  15. 【Mac】-NO.161.Mac.1 -【MacOS Error running 'Tomcat 8.5.371': Cannot run program Permission denied】
  16. Excel导出采用mvc的ExcelResult继承遇到的问题
  17. JVM深度解析
  18. vander范德蒙德行列式
  19. springMVC版本和jdk版本不匹配造成的问题
  20. c++ #ifdef的用法

热门文章

  1. Flexviewer使用Google地图作为底图
  2. Android学习——Fragment动态加载
  3. monkeyrunner之安卓开发环境搭建(二)
  4. Oracle 11.1.0.6 导入导出bug
  5. python+pymssql+selenium 获取短信验证码登录(实战练习)
  6. Android(java)学习笔记14:Java线程池
  7. POJ 3734 生成函数
  8. delete在js里为引用删除
  9. POJ 1745 【0/1 背包】
  10. Maximum Profit