【高级特性】44、类定义中的特殊方法【高级特性】44、类定义中的特殊方法
目录
一、基本概念
二、构造与解构
三、算术运算
四、其他特殊方法
一、基本概念
- 特殊方法(special method)
也被称作魔术方法(magic method)
在类定义中实现一些特殊方法,可以方便地使用python中一些内置操作
所有特殊方法的名称以两个下划线(__)开始和结束
二、构造与解构
- 对象构造器
_init_(self,[…)
对象的构造器,实例化对象时调用 - 析构器
_del_(self,[.…)
销毁对象时调用
image.png
三、算术运算
-
算术操作符
_add_(self,other):使用+操作符
_sub_(self,other):使用一操作符
_mul_(self,other):使用*操作符
_div_(self,other):使用/操作符 -
反运算
当左操作数不支持相应的操作时被调用
_radd_(self,other),_rsub_(self,other)
_rmu1_(self,other),_rdiv_(self,other) -
大小比较
_eq_(self,other):使用==操作符
_ne_(self,other):使用!=操作符
_lt_(self,other):使用
_gt_(self,other):使用>操作符
_1e_(self,other):使用
_ge_(self,other):使用>=操作符

image.png

image.png

image.png
四、其他特殊方法
- 字符串操作
不仅数字类型可以使用像+(_add_())和- (_sub_())的数学运算符,例如字符串类型可以使用+进行拼接,使用*进行复制
_str_(self):自动转换为字符串
_repr_(self):返回一个用来表示对象的字符串
_len_(self):返回元素个数 - 其它特殊方法参见课程网站
http://gis4g.pku.edu.cn/python-magic-method/
微信赞赏
支付宝赞赏