魔术方法笔记0-2

运算相关魔术方法(上帝模式)

比较运算相关魔术方法

1个.__ LT __()
格式:
    def __lt __(self,other):
    返回数据

特征:
    触发时机:进行小于判断时自动触发
    参数:2个参数第一个是自,第二个判断的第二个对象
    返回值:返回值可以任意类型,推荐布尔值
    作用:定义小于号的行为:x 
2 .__乐__()
格式:
    def __le __(self):
    返回str

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

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

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

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

特征:
    触发时机:进行不等于判断时自动触发
    参数:2个参数第一个是自,第二个判断的第二个对象
    返回值:返回值可以任意类型,推荐布尔值
    作用:定义不等号的行为: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
类型转换相关魔术方法JIANG

__complex __(self)定义当被complex()调用时的行为(需要返回恰当的值)
__int __(self)定义当被int()调用时的行为(需要返回恰当的值)
__float __(self)定义当被float()调用时的行为(需要返回恰当的值)
__round __(self [,n])定义当被round()调用时的行为(需要返回恰当的值)
__index(self)__ 1.当对象被被用在切片表达式中时,实现整形强制转换
                       2.如果你定义了一个可能在切片时用到的定制的数值型,你应该定义index
                       3.如果index被定义,则int也需要被定义,并返回相同的值
上下文管理相关魔术方法

__enter __()和__exit __()
输入(个体经营)
    1.定义当使用语句时的初始化行为
    2.输入的返回值与语句的目标或者作为后的名字绑定

退出(自我,exctype,excvalue,追溯)
    1.定义当一个代码块被执行或者终止后上下文管理器应该做什么
    2.一般被用来处理异常,清除工作或者做一些代码块执行完毕之后的日常工作
容器类型相关魔术方法

__len __(self)定义当被调用时的行为(返回容器中元素的个数)
__getitem __(self,key)定义获取容器中指定元素的行为,相当于self [key]
__setitem __(self,key,value)定义设置容器中指定元素的行为,相当于self [key] = value
__delitem __(self,key)定义删除容器中指定元素的行为,相当于del [key]
__iter __(self)定义当迭代容器中的元素的行为
__reversed __(self)定义当被reversed()调用时的行为
__contains __(self,item)定义当使用成员测试运算符(in或not in)时的行为


你可能感兴趣的:(python基础笔记)