## 类 前面我讲到基本数据类型用来表示最常见的信息,但信息有无穷多种,为了更好的表达信息,我们可以创建自定义的数据类型。 一种数据类型就是一个类。例如整数,浮点数,字符串等。 ### 类的定义 python中通过关键字`class`可以定义一个自定义的数据类型,基本语法如下: ```python class 类名: 属性 方法 ``` 注意:python中类名规则同变量名,但是一般使用`大驼峰`来表示。 案例:创建一个`Point`类用于表示平面坐标系中的一个点 ```python class Point: """ 表示平面坐标系中的一个点 """ print(Cat) <class '__main__.Point'> ``` 三双引号中的类容是类的说明文档。 ## 对象 某种数据类型的一个具体的数据称为这个类的一个对象或者实例。 例如,`1`是整数的一个对象,`'hello'`是字符串的一个对象。 我认为,所谓的面向对象,就是把一些数据抽象成类的思想。置于作用,深入学习之后才会有体会,这里不做过多的说明。 我们经常听到这样一句话:"python是一门面向对象的编程语言,python中一切皆对象。" 这意味着python中任何数据都有其对应的类型,例如函数也是一个类,定义的某个函数就是函数类型的一个具体实例。 ```python >>> def func(): ... pass >>> print(type(func)) <class 'function'> ``` ### 实例化 通过类创建对象叫做实例化。 除了基本数据类型的实例化过程用到了特殊的语法外,所有自定义的数据类型进行实例化都是通过调用类名来实现的,非常简单,语法如下: ```python 类名([参数]) ``` 看起来和调用函数一样(实际上就是调用了一些函数)。 案例: 给上面创建的`Point`类创建一个实例。 ```python >>> p = Point() >>> print(p, type(p)) <__main__.Point object at 0x000001FC02CBBD00> <class '__main__.Point'> ``` 直接打印对象默认会返回其内存地址。