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