Python 继承与类属性和实例属性关系

11月 7, 2020 830点热度 1人点赞 0条评论
isinstance 与 type 的区别
  • isinstance 考虑继承关系
  • type 不考虑 继承关系

isinstance 可以用来判断类型,返回的对象是否是类中的子类

file

a = 1
b = '小永'
print(isinstance(a,(int, str))) # 返回布尔值  ()元组--> or 运算
>>> True

print(type(a))
>>> <class 'int'>
类属性与实例属性
基本的查找顺序
  • 对象是可以向上查找的,所以可以访问到类属性
    • 当对象自己有该实例属性时,则输出的是自己的
  • 类不能向下查找,所以只能访问到类属性
多继承查询顺序

file

MRO算法,DFS(deep first search)深度优先

A --> B --> D --> C --> E

菱形继承,的执行顺序

file

Python 2.2 版本后,引入BFS(扩度优先)

Python新式类,引入了C3算法, 通过className.__mro__来查看。

YY部落站(Admin)

当你能梦的时候就不要放弃梦~😎

文章评论