python教程系列(二.2.3、运算类魔法函数)

在这里插入图片描述

运算相关魔术方法

比较运算相关魔术方法

1._ _lt_ _()

格式:
    def __lt__(self,other):
        return 数据

特征:

    触发时机:进行小于判断时自动触发
    参数:2个参数第一个是self,第二个判断的第二个对象
    返回值:返回值可以任意类型,推荐布尔值
    作用:定义小于号的行为:x < y 调用 x.lt(y)

2._ _le_ _()

格式:
    def __le__(self):
        return str

特征:

    触发时机:进行小于等于判断时自动触发
    参数:2个参数第一个是self,第二个判断的第二个对象
    返回值:返回值可以任意类型,推荐布尔值
    作用:定义小于等于号的行为:x <= y 调用 x.le(y)

3._ _gt_ _()

格式:
    def __gt__(self):
        return str

特征:

    触发时机:进行大于判断时自动触发
    参数:2个参数第一个是self,第二个判断的第二个对象
    返回值:返回值可以任意类型,推荐布尔值
    作用:定义大于号的行为:x > y 调用 x.gt(y)

4._ _ge_ _()

格式:
    def __ge__(self):
        return str

特征:

    触发时机:进行大于等于判断时自动触发
    参数:2个参数第一个是self,第二个判断的第二个对象
    返回值:返回值可以任意类型,推荐布尔值
    作用:定义大于等于号的行为:x >= y 调用 x.ge(y)

5._ _eq_ _()

格式:
    def __eq__(self):
        return str

特征:

    触发时机:进行等于判断时自动触发
    参数:2个参数第一个是self,第二个判断的第二个对象
    返回值:返回值可以任意类型,推荐布尔值
    作用:定义大于等于号的行为:x == y 调用 x.eq(y)

6._ _ne_ _()

格式:
    def __ne__(self):
        return str

特征:

    触发时机:进行不等于判断时自动触发
    参数:2个参数第一个是self,第二个判断的第二个对象
    返回值:返回值可以任意类型,推荐布尔值
    作用:定义不等号的行为:x != y 调用 x.ne(y)

算术运算相关魔术方法

__add__(self, other)     定义加法的行为:+
__sub__(self, other)    定义减法的行为:-
__mul__(self, other)     定义乘法的行为:
__truediv__(self, other)     定义真除法的行为:/
__floordiv__(self, other)    定义整数除法的行为://
__mod__(self, other)     定义取模算法的行为:%
__divmod__(self, other)  定义当被 divmod() 调用时的行为
__pow__(self, other[, modulo])   定义当被 power() 调用或 ** 运算时的行为
__lshift__(self, other)  定义按位左移位的行为:<<
__rshift__(self, other) 定义按位右移位的行为:>>
__and__(self, other)     定义按位与操作的行为:&
__xor__(self, other)     定义按位异或操作的行为:^
__or__(self, other) 定义按位或操作的行为:|

反运算相关魔术方法

radd(self, other)    (与上方相同,当左操作数不支持相应的操作时被调用)
rsub(self, other)    (与上方相同,当左操作数不支持相应的操作时被调用)
rmul(self, other)    (与上方相同,当左操作数不支持相应的操作时被调用)
rtruediv(self, other)    (与上方相同,当左操作数不支持相应的操作时被调用)
rfloordiv(self, other)   (与上方相同,当左操作数不支持相应的操作时被调用)
rmod(self, other)    (与上方相同,当左操作数不支持相应的操作时被调用)
rdivmod(self, other)     (与上方相同,当左操作数不支持相应的操作时被调用)
rpow(self, other)    (与上方相同,当左操作数不支持相应的操作时被调用)
rlshift(self, other)     (与上方相同,当左操作数不支持相应的操作时被调用)
rrshift(self, other)     (与上方相同,当左操作数不支持相应的操作时被调用)
rand(self, other)    (与上方相同,当左操作数不支持相应的操作时被调用)
rxor(self, other)    (与上方相同,当左操作数不支持相应的操作时被调用)
ror(self, other)     (与上方相同,当左操作数不支持相应的操作时被调用)

赋值运算相关魔术方法

iadd(self, other)    定义赋值加法的行为:+=
isub(self, other)    定义赋值减法的行为:-=
imul(self, other)    定义赋值乘法的行为:=
itruediv(self, other)    定义赋值真除法的行为:/=
ifloordiv(self, other)   定义赋值整数除法的行为://=
imod(self, other)    定义赋值取模算法的行为:%=
ipow(self, other[, modulo])  定义赋值幂运算的行为:**=
ilshift(self, other)     定义赋值按位左移位的行为:<<=
irshift(self, other)     定义赋值按位右移位的行为:>>=
iand(self, other)    定义赋值按位与操作的行为:&=
ixor(self, other)    定义赋值按位异或操作的行为:^=
ior(self, other)     定义赋值按位或操作的行为:|=

一元运算相关魔术方法

pos(self)    定义正号的行为:+x
neg(self)    定义负号的行为:-x
abs(self)    定义当被 abs() 调用时的行为
invert(self)     定义按位求反的行为:~x

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值