# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.bubuko.com/infodetail-313791.html #类的专有方法(__del__) ‘PS:析构函数只需要明白其用途,目前无需深入学习‘ #__init__ #作用:当一个类实例删除时被调用 #析构函数与构造函数相反,当对象脱离其作用域时(对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做清理善后的工作;开辟了一个内存空间之后,利用完毕了要释放内存 #__del__()也是可选的,如果不提供,python在后台会提供默认析构函数。 #如果要显式的调用析构函数,可以使用del关键字,如:del对象名 #析构函数是在生命周期里最后一个被调用的函数,所有删除、释放资源都常常会在这个函数内调用 class Auto(): def __init__(self,color): self.__color=color print ‘构造函数:‘,self.__color def __del__(self):#定义析够函数 self.__color="Red" print self.__color print "Release..." def getColor(self): print self.__color if __name__==‘__main__‘: car=Auto(‘blue‘) car.getColor() #首先调用getColor方法,执行print self.__color得输出结果blue, #如果在这里,所有的程序都执行完毕,将执行del析构函数,这时的self.__color应该是"Red" del car #删除实例化car后,再次调用car.getColor()会报错,
#因为car没有进行实例化无法调用!! #car.getColor()#NameError: name ‘car‘ is not defined ‘‘‘ 构造函数: blue blue Red Release... ‘‘‘
原文:http://www.cnblogs.com/dengyg200891/p/4872608.html