init方法
>>> class Rectangle1:
def __init__(self,x,y):
self.x = x
self.y = y
return 'A fo A-cup'
def getPeri(self):
return (self.x + self.y) * 2
def getArea(self):
return self.x * self.y
new方法
至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供
__new__必须要有返回值,返回实例化出来的实例,可以return父类new出来的实例,或直接是object的new出来的实例。
>>> class CapStr(str):
def __new__(cls,string):
string = string.upper()
return str.__new__(cls,string)
>>> a = CapStr('I love fishc.com')
>>> a
'I LOVE FISHC.COM'
del方法
>>> class C:
def __init__(self):
print('我是init方法')
def __del__(self):
print('我是del方法,我被调用了')
>>> c2 = C()
我是init方法
>>> c3 = c2
>>> del c2
>>> del c3
我是del方法,我被调用了