析构函数
析构函数:__del__(self)
在程序全部结束时自动结束,当程序无法结束时该函数也不会执行。
执行时间:1.如果该析构函数是全局,则程序结束自动执行
2.如果该析构函数是局部,比如在函数中,函数执行完毕后就自动执行
3.手动删除 del+变量名,删除后不能再次使用。
析构函数的意义:
其实析构函数大部分时间作用不大,要说它比较有用的地方便是当你
看到你写的析构函数打印出来的时候就代表着该程序块或者该函数已经全部执行结束了,
所以大部分时间都处于无用的地位(就我目前的学习水平来说)
下边是一个简单案例:
#def __del__(self):
# print('我走了')
class Person:
def __init__(self):
print('我出生了')
def __del__(self):
print('我走了')
def eat(self):
print('吃饭')
p=Person()
p.eat()
#将注释部分分别运行,观察析构函数的运行规则
#a=1
#while True:
# a+=1
在Python中,程序是自带垃圾回收功能的,什么意思呢?说起来这也算是Python的强大之处,意思就是在Python文件运行结束后,Python会自动清理自己占用的内存空间,从而避免占用大量电脑资源而导致电脑瘫痪,有兴趣的同学可以看看,写一个死循环,让程序运行,这时打开任务管理器,在进程里边就可以看到python文件正在占用cpu资源,当终止程序时,进程也消失了,这在很多语言中是没有的,就算你结束了程序,运行文件仍可能残留在进程中。