zoukankan      html  css  js  c++  java
  • 类的专有方法(__del__)

    # -*- 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... '''
  • 相关阅读:
    C
    B
    A
    G
    BZOJ_1208_&_Codevs_1258_[HNOI2004]_宠物收养所_(平衡树/set)
    Codevs_1230_元素查找_(set/Hash)
    POJ_2503_Babelfish_(Trie/map)
    POJ_2001_Shortest_Prefixes_(Trie)
    BZOJ_3670_[NOI2014]_动物园_(kmp)
    BZOJ_3196_二逼平衡树_(树套树,线段树+Treap)
  • 原文地址:https://www.cnblogs.com/dengyg200891/p/4872608.html
Copyright © 2011-2022 走看看