type
status
date
slug
summary
tags
category
icon
password
1.魔术方法
1)在Python中,所有以
双下划线包起来的方法
,统称为MagicMethod(魔术方法),是一种的特殊方 法,普通方法需要调用,而魔术方法不需要调用,自动执行
。2)如果希望根据自己的程序 定制特殊功能的类,那么就需要对这些方法进行重写。

后面是触发条件 , 并且
x,y均是对象
1.1 __str__的用法
1)打印对象默认返回:类型名+对象内存地址,子类往往重写__str__ 用于返回对象的属性信息

2)重写__str__方法,print(对象)或str(对象)时,都会自动调用该对象的__str__
1.2 __eq__的用法
1)==是一个比较运算符:对象之间进行比较时,比较的是
内存地址是否相等
,判断是不是同一个对象2)重写__eq__方法,可以用于判断对象内容/属性是否相等
2.抽象类
2.1 抽象类的注意事项
1)抽象类是至少含一个
抽象方法
的类。(方法前写 @abstractmethod)2)抽象类是类的模板,不能实例化。
子类继承并实现抽象类的所有抽象方法
3)Python不提供抽象类,
让类继承ABC
(在abc模块中)4)
方法需要用@abstractmethod声明
(也在abc模块中)2.2 抽象类的代码框架
抽象类代码
🎖️4.设计模式
1 )设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式
2)设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索
4.1.模板设计模式
抽象类体现的就是一种
模板模式的设计
,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式
设计模式代码
🎖️- Author:孟浩
- URL:MengHaoの博客 | 行而不辍,未来可期/article/1bf30b52-583a-8066-89fb-da3ed67ca6fa
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!