Python_021(內置方法講解二)
阿新 • • 發佈:2018-08-04
most def bsp efi trac pan div () python
一.內置方法二
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方法中寫關閉代碼;
Python_021(內置方法講解二)