# 类

Python 是一门面向对象编程（Object Oriented Programming, OOP）的语言，这里的**对象**可以看做是由数据（或者说特性）以及一系列可以存取、操作这些数据的方法所组成的集合。面向对象编程主要有以下特点：

- 多态（Polymorphism）：不同类（Class）的对象对同一消息会做出不同的响应。
- 封装（Encapsulation）：对外部世界隐藏对象的工作细节。
- 继承（Inheritance）：以已有的类（父类）为基础建立专门的类对象。

在 Python 中，元组、列表和字典等数据类型是对象，函数也是对象。那么，我们能创建自己的对象吗？答案是肯定的。跟其他 OOP 语言类似，我们使用**类**来自定义对象。

本章主要介绍以下几个方面：

* [类和实例](./class_and_object.md)
* [继承和多态](./inheritance_and_polymorphism.md)
* [类方法和静态方法](./method.md)
* [定制类和魔法方法](./magic_method.md)
* [slots 魔法](./slots.md)
* [使用 @property](./property.md)
* [你不知道的 super](./super.md)
* [元类](./metaclass.md)


