1.__init__
1 >>> class Rectangle: 2 def __init__(self,x,y): 3 self.x=x 4 self.y=y 5 def getPeri(self): 6 return(self.x+self.y)*2 7 def getArea(self): 8 return self.x*self.y 9 10 11 >>> rect=Rectangle(3,4) 12 >>> rect.getPeri() 13 14 14 >>> rect.getArea() 15 12 16 >>> class A: 17 def __init__(self): 18 return "A fo A-Cup" 19 20 21 >>> a=A() #由于定义了A有返回值了,所以会报错。init无返回值 22 Traceback (most recent call last): 23 File "<pyshell#37>", line 1, in <module> 24 a=A() 25 TypeError: __init__() should return None, not ‘str‘
2.__new__(cls[,])
1 >>> class CapStr(str): 2 def __new__(cls,string): #传入str化身为string 3 string=string.upper() #string转换为为大写字符串 4 return str.__new__(cls,string)#返回的时候必须重写new方法,否则则会自动调用capstr函数 5 >>> a=CapStr("I love fishC.com!") 6 >>> a 7 ‘I LOVE FISHC.COM!‘
3.__del__(self):当对象将要被销毁的时候,此方法就会被调用
1 >>> class C: 2 def __init__(self): 3 print("我是__init__方法,我被调用了...") 4 def __del__(self): 5 print("我是__del__方法,我被调用了...") 6 7 >>> c1=C() 8 我是__init__方法,我被调用了... 9 >>> c2=c1 10 >>> c3=c2 11 >>> del c3 12 >>> del c2 13 >>> del c1 #只有删除了所有引用方法C的对象后,才启动垃圾回收机制,垃圾回收机制在销毁对象的时候,会自动调用del方法,对其中的内容进行垃圾回收,才会打印出来回收的内容。 14 我是__del__方法,我被调用了...
时间: 2024-10-12 07:16:44