魔法方法
class rectangle:
def __init__(self,x,y):
self.x=x
self.y=y
def getperi(self):
return(self.x+self.y)*2
def getarea(self):
return(self.x*self.y)
x=rectangle(5,5)
print(x.getarea())
print(x.getperi())
输出为
25
20
—init—()方法是保存数据,返回
class capstr(str):
def __new__(cls, string):
string=string.upper()
return str.__new__(cls,string)
c=capstr("hahahahahaha")
print(c)
输出为
HAHAHAHAHAHA
上述代码,使用—new—()方法,将其转变为upper()方法,然后转换
print(int('123'))
print(int("456"))
输出为
123
456
class aa(int):
def __add__(self, other):
return int.__add__(self,other)
def __sub__(self, other):
return int.__sub__(self,other)
a=aa(4)
b=aa(6)
print(a+b)
输出为
10
上述定义了一个加减法的魔法方法
下面介绍其他魔法方法
上述方法可以直接调用使用
可以使代码更加简洁