|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小牛有话说:
各位鱼油,大家好。我是小牛,如果您已经看完或者正在看鱼神的《零基础入门学习Python》视频,想随时复习前面的知识点却又不想花太多时间和精力重翻视频,来这里《零基础入门Python学习》整理瞅瞅小牛呕心做的的视频内容的总结吧^_^,如果觉得有用的话,可以点击所属淘贴右上角的“订阅”按钮,这样以后就能够随时看到小牛做的最新的整理了。
年底恰逢各种项目结题,近两周内没有时间和精力更新帖子,这里对关注小牛帖子鱼油们说声抱歉了,后面小牛会尽力加快更新速度,争取在11月份更完类和对象部分。
本期主要内容导读:
这一期我们归纳一下鱼神第四十三讲“类和对象:算术运算符2”。这一期里面鱼神主要是介绍了Python类中剩余的算术运算符的魔法方法,包括反运算,增量运算,一元运算的魔法方法。下面将详细介绍他们的用法。
1. 反运算
当运算符左侧数不支持相应的运算操作时,就需要调用右侧数的运算操作,这时相对应的魔法方法称为反运算,举例说明:
>>> class Nint(int):
def __add__(self,other):
print("调用__add__算法...")
return int.__add__(self,other)
def __radd__(self,other):
print("调用__radd__算法...")
return int.__radd__(self,other)
>>> a = Nint(3)
>>> a + 3
调用__add__算法...
6
>>> 3 + a
调用__radd__算法...
6
由上述可知,反运算与一般运算符相比,仅仅是前面加了一个r(例如add和radd),当遇上"+"号时默认调用"+"号左侧数的__add__方法,当其不支持时则会调用运算符右侧的__radd__方法。
2. 增量运算符
Python具有 +=,-=,*=,/=等增量运算符的魔法方法(__iadd__, __isub__, __imul__, __itruediv__等),举例说明:
>>> class Nint(int):
def __iadd__(self,other):
print("调用__iadd__算法...")
return int.__add__(self,other)
>>> a = Nint(3)
>>> a += 3
调用__iadd__算法...
>>> a
6
3. 一元运算符
主要值运算符只有一个操作数,包括+,-,abs()和invert()分别对应魔法方法(__pos__, __neg__,__abs__,__invert__方法等),举例说明:
>>> class Nint(int):
def __neg__(self):
print("调用__neg__算法...")
return int.__neg__(self)
>>> a = Nint(3)
>>> -a
调用__neg__算法...
-3
|
评分
-
查看全部评分
|