Python中type和object的关系
面向对象编程的两大关系
- 继承关系:子类继承自父类,可以使用父类的一些方法和属性
- 实现关系:以此类为模板实例化一个对象,即对象是类的一个实例
文章图片
继承和实现的区别
实例关系 上面我们说到。类也是一个对象,谁是它的类模板。
可以打印看看:
文章图片
实例关系
补充一下:可以用. class来判断是哪个类的实例
>>> object.__class__
从上图可以看出:
- 自定义类A的实例a的类模板就是自定义A
- "string",1分别是类str和类int的实例
- 自定义类A是类type的一个实例,有的同学可能会问了,类A明明继承object啊?注意,是继承,我们这里讨论是否实例的问题
- 那所以类的基类object是谁的实例:type类的实例
- 那type类是哪个类的实例:type类。也就是说,type类既是该类的一个实例,也是该实例的一个对象
继承关系 继承关系就是类与类之间的关系,与对象无关,也不涉及任何实例
文章图片
继承关系
从上面我们可以学到:
- A继承自object,B继承自A,所以A·B的base分别是父类
- str int等等内置类都是object的子类
- object类是老大,所以它的父类为None
- 可是type类的父类是object,object类不是type类的实例吗?
文章图片
type和object的关系
图中 A-->B代表A是B一个实例, C->D代表C是D的一个子类
即type类是type类的一个实例,object类是type类的一个实例,type类是object类的子类。像这种类,其实例化后的对象是类,这种类叫做 元类,请移步小生的另一篇文章
推荐阅读
- 二宝感受到的争吵在继续
- 养殖业中的鸡粪有哪些处理方式()
- 力扣之数组中数字出现的次数 II
- bp神经网络matlab实例,关于使用matlab中基于BP神经网络算法的应用实例
- 面试|中高级测试工程师面试题(不断补充中)
- 辩证思维在计算机中的应用,浅论计算机科学技术应用中的辩证思维.doc
- 钛媒体、财经、市场、科技、商业、一级市场、二级市场|【华楠直播间65期】中国为什么出不了乐高?
- 摆渡灵魂‖莫道他是风月情痴?(中)
- [TS] interface, type, class 中的分号,逗号
- Python 为什么没有 main 函数(为什么我不推荐写 main 函数?)