Python学习笔记03#构造器与解构器
Python学习笔记#实例:构造器与解构器
构造和解构
1.init()构造器方法
当类被调用,实例化的第一步是创建实例对象。一旦对象创建了,Python检查是否实现了__init__()方法。默认情况下,对实例不会施加任何特别的操作。任何所需的特定操作,都需要程序员实现__init__(),覆盖它的默认行为。如果__init__()没有实现,则返回它的对象;如果已被实现,那么它将被调用,实例对象作为第一个参数(self)被传递进去。
>>> class Rectange:#定义矩形这个类
def __init__(self,x,y):#矩形需要长和宽,需要实例化传入两个参数,因为__init__方法默认没有参数,所以需要进行重写
self.x = x
self.y = y
def getPeri(self):#对周长进行计算
return(self.x + self.y) * 2
def getArea(self):#对面积进行计算
return self.x * self.y
>>> rect = Rectange(2,5)
>>> rect.getPeri()
14
- new()构造器方法
一般,在实例化不可变对象(如str)的情况下,会调用类的__new__()方法,一个静态方法,并且传入的参数是在类实例化操作时形成的。new()会调用父类的__new__()来创建对象。new()必须返回一个合法的实例。
>>> class CapStr(str):#定义一个类,继承不可变对象str
def __new__(cls,string):#cls是类,是固定的,如同init的self
string = string.upper()#string.upper()方法返回大写字符串
return str.__new__(cls,string)
>>> a = CapStr('i love you')
>>> a
'I LOVE YOU'
3.del()解构器
Python中的解构器是在实例释放前提供特殊处理功能的方法,它们通常没有被实现,因为实例很少被显示释放
除非你知道你正在干什么,否则不要去实现__del__()

浙公网安备 33010602011771号