一、类
1,类的定义
如果我们把对象比作一个饼干,那么类就是制造这个饼干的模具。
2,我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,”类将行为和状态打包在一起“
3.定义类
定义类的语法格式:
class 类名:
类体
要点如下:
二、构造函数__init__()
类时抽象的,也称为”对象的模板“。我们需要通过类这个模板,创建类的实例对象,然后才能使用类定义的功能。
__init__()的要点:
注:
Python中的self 相当于C++中的self 指针,JAVA和C#中的this 关键词。Python中self 必须为构造函数的第一个参数,名字可以任意修改。但一般遵守惯例,都叫做self。
三、私有属性和私有方法(实现封装)
Python 对于类的成员没有严格的访问控制限制,这与其他面向对象语言有很大的区别。关于私有属性和私有方法,有如下要点:
【注】方法本质上也是属性!只不过是通过()执行而已。所以,此处讲的私有属性和公共属性,也同时讲解了私有方法和公有方法的用法。
四、继承
继承是面向对象程序设计的重要特征,也是实现“代码复用”的重要手段。
语法格式:
Python 支持多重继承,一个子类可以继承多个父类。继承的语法格式如下:
class 子类类名(父类 1[ ,父类2 ,···]):
类体
如果在类定义中没有指定父类,则默认父类是object 类,也就是说,object是所有类的父类。
定义子类时,必须在其构造函数中调用父类的构造函数。调用格式为:
父类名.__init__(self,参数列表)
五、多重继承
Python中支持多重继承,一个子类可以有多个“直接父类”。这样,就具备了“多个父类”的特点,但是由于这样会被“类的整体层次”搞得非常复杂,尽量避免使用。
六、多态
多态是指同一个方法调用由于对象不同可能会产生不同的行为。
注:
七、运算符
运算符 | 特殊方法 | 说明 |
运算符+ | _add_ | 加法 |
运算符- | _sub_ | 减法 |
<,<=,== | _lt_, _le_, _eq_ | 比较运算符 |
>,>=,!= | _gt_, _ge_, _ne_ | 比较运算符 |
|,^,& | _or_, _nor_, _and_ | 或,异或,与 |
<<,>> | _lshift_, _rshift_ | 左移,右移 |
*,/,%,// | _mul_, _truediv_, _mod_, _floordiv_ | 乘、浮点除、模运算、整数除 |
** | _pow_ | 指数运算 |
八、特殊方法
方法 | 说明 |
__init__ | 构造方法 |
__del__ | 析构方法 |
__repr__, __str__ | 打印、转换 |
__call__ | 函数调用 |
__getattr__ | 点号运算 |
__setattr__ | 属性赋值 |
__getitem__ | 索引运算 |
__setitem__ | 索引赋值 |
__len__ | 长度 |
九、try····一个expect结构
try·····expect是常见的异常处理结构。结构如下:
try:
被监控的可能引发的异常语句块
expect BaseExpection [as e]:
异常处理语句块
十、 try····expect·····finally结构
try····expect·····finally结构中,finally块无论是否发生异常都会被执行,通常用来释放try块中申请的资源。
执行结果如下: