python类与对象各个算数运算魔法方法总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
python类与对象各个算数运算魔法⽅法总结
1、python类与对象各个算术运算魔法⽅法总结:
2、各个魔法⽅法应⽤举例:
3、实例训练:
(1)我们都知道在 Python 中,两个字符串相加会⾃动拼接字符串,但遗憾的是两个字符串相减却抛出异常。
因此,现在我们要求定义⼀个 Nstr 类,⽀持字符串的相减操作:A – B,从 A 中去除所有 B 的⼦字符串。
class Nstr(str):
def __sub__(self,other):
self=list(self)
other=list(other)
for i in other:
c=len(self)
while(c>0):
if i in self:
self.remove(i)
c=c-1
x=""
for j in range(len(self)):
x=x+self[j]
return x
a = Nstr('I love iiiiii !iiiiiiii')
b = Nstr('i')
print(a-b)
(2)定义⼀个类 Nstr,当该类的实例对象间发⽣的加、减、乘、除运算时,将该对象的所有字符串的 ASCII 码之和进⾏计算:class Nstr(str):
def __add__(self,other):
y=0
z=0
for i in self:
x=ord(i)
y=y+x
for j in other:
q=ord(j)
z=z+q
return int(y)+int(z)
def __sub__(self,other):
y=0
z=0
for i in self:
x=ord(i)
y=y+x
for j in other:
q=ord(j)
z=z+q
return int(y)-int(z)
def __mul__(self,other):
y=0
z=0
for i in self:
x=ord(i)
y=y+x
for j in other:
q=ord(j)
z=z+q
return int(y)*int(z)
def __truediv__(self,other):
y=0
z=0
for i in self:
x=ord(i)
y=y+x
for j in other:
q=ord(j)
z=z+q
return int(y)/int(z)
def __floordiv__(self,other): y=0
z=0
for i in self:
x=ord(i)
y=y+x
for j in other:
q=ord(j)
z=z+q
return int(y)//int(z)。