【高级特性】44、类定义中的特殊方法【高级特性】44、类定义中的特殊方法
目录
一、基本概念
二、构造与解构
三、算术运算
四、其他特殊方法
一、基本概念
- 特殊方法(special method)
也被称作魔术方法(magic method)
在类定义中实现一些特殊方法,可以方便地使用python中一些内置操作
所有特殊方法的名称以两个下划线(__)开始和结束
二、构造与解构
- 对象构造器
_init_(self,[…)
对象的构造器,实例化对象时调用 - 析构器
_del_(self,[.…)
销毁对象时调用
三、算术运算
-
算术操作符
_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)
:使用>=操作符
四、其他特殊方法
- 字符串操作
不仅数字类型可以使用像+(_add_())和- (_sub_())
的数学运算符,例如字符串类型可以使用+进行拼接,使用*进行复制
_str_(self)
:自动转换为字符串
_repr_(self)
:返回一个用来表示对象的字符串
_len_(self)
:返回元素个数 - 其它特殊方法参见课程网站
http://gis4g.pku.edu.cn/python-magic-method/
微信赞赏支付宝赞赏