python 入坑路--析构函数

1、什么是析构函数

新鲜事物,我喜欢。

定义:在实例销毁的时候调用的函数

2、玩一玩例子

class Dog(object):
    '''
    描述狗
    '''

    def __init__(self,name):
        self.name=name

    def eat(self,food):
        print("%s eating %s" %(self.name,food))

    def __del__(self):
        print("del ....object,%s 挂了" %self.name)

d=Dog("小犬纯一郎")

del d

#输出

del ....object,小犬纯一郎 挂了

 

  

①析构函数什么时候调用呢?

其实每一个对象都是一个应用,就像每一个房间都有门牌号一样, 只要这个对象的引用被清空时,就会自动执行,就像上面的del d,其实python中有自动垃圾回收机制,会定时去的去回收一些被清空的应用,而析构函数就是在引用被清空之后会自动执行

②析构函数的作用?

比如说server端接受很多客户端的连接,当你手动屏蔽你的sever端的时候,这个时候客户端还在正常的连接,如果sever端用类写的,你就可以delete server端的同时,在__del__()写一些东西,说去close掉很多客户端的连接。说白了,析构函数就是做一些程序的收尾工作。

posted @ 2018-02-01 11:05  东郭仔  阅读(326)  评论(0)    收藏  举报