一.内置方法二
1.__del__方法:
a:构造方法:创建一个空间, 析构方法;释放一个空间;
b:触发del的情况:Python解释器的垃圾回收机制,和遇到 del 对象名
c:析构方法的思想:
class A: def __del__(self): print(self) a = A() del a #这里先执行了__del__方法,再删除对象a,因为执行__del__方法时还要传入self; print(a) #输出结果: <__main__.A object at 0x0000013CF5F59128> 被执行了 Traceback (most recent call last): File "D:/Python/course/23.模块/day23/3.析构方法.py", line 49, in <module> print(a) NameError: name ‘a‘ is not defined
d:python的垃圾回收机制:
class A: def __del__(self): print(‘Python解释器会在程序跑结束后执行我‘) a = A() print(a) #输出结果: <__main__.A object at 0x000001F823159128> Python解释器会在程序跑结束后执行我
总结:del方法:是去归还/释放一些在创建对象时借用的一些资源(有可能是操作系统的资源)
例子:像一些常用的变量在Python底层的一些对象,都有Python解释器帮你回收,
而像一些像操作系统借用的资源就需要你执行回收方法自己释放;
像文件句柄;执行close操作,还有一些网络资源;
3.计算机内部执行一些小常识:
a:申请一块空间 操作系统会分配给你的 b:在这一块空间之内的所有事,归你的Python解释器管理;
*****所以在你借用了操作系统资源时,在程序结束之前要还回去,在del方法中写关闭代码;
原文地址:https://www.cnblogs.com/0627zhou/p/9416391.html
时间: 2024-10-09 02:02:19