# Python万物皆对象

<!--more-->

## 类与对象
`Python`中有两种关系：
- 类与对象，顶点为`Type`。
- 继承，顶点为`Object`。


### 类与对象（Type）
`__class__`方法查看当前对象所属的类，亦即由哪个类实例化得到。

> Python 中的对象可以分成两种
> - 不是类的对象，例如手里的一个🍎。
> - 亦是类的对象，例如🍎，作为水果这个类的一个实例（对象）。

类比如下关系：
> 手里的🍎（创建自）🍎（创建自）水果（创建自）食物（创建自）... 顶点

Python 版本
> 不是类的对象（创建自）亦是类的对象（创建自）类的类（创建自）Type（顶点）

### 继承（Object）
`__base__`方法查看当前类的父类，亦即继承自哪个类。

> Python 中的类也可以分成两种
> - 普通类，类继承链条的末端，其实例不是类。
> - 元类，类继承链条的非末端，其实例依然是类。

类比如下关系：
> 🍎（继承自）水果（继承自）食物（继承自）... 顶点

Python 版本
> 普通类（继承自）元类（继承自）...（继承自）Object（顶点）

### Type/Object

Type 作为
- 类，继承自 Object
- 对象，创建自 Type（自身）

Object 作为
- 类，继承自 Object（自身）
- 对象，创建自 Type

<!-- {% asset_img type-and-object.webp 类与对象关系 %} -->
![Python中类与对象的关系](type-and-object.webp "Python中类与对象的关系")

<!-- {% blockquote %} -->
{{< admonition type=note title="老子说" >}}
道生一，一生二，二生三，三生万物
{{< /admonition >}}
<!-- {% endblockquote %} -->

网上有人用它来理解 **类对象** 关系，觉得生动形象，故记录于此。
1、道 即 Type
2、一 即 元类
3、二 即 普通类
4、三 即 实例
5、**万物** 即 各种实例属性，方法


---

> 作者: 泛福轩  
> URL: http://hugo.spiedeman.top/posts/python/type-and-object/  

