python特殊变量方法 不懂_Python中的常见特殊方法—— del方法
__del__() 方法用于銷毀Python對象——在任何Python對象將被系統回收的時候,系統都會自動調用這個方法。但是不要以為對一個變量執行del操作,該變量引用的對象就會被回收,當然不是,如果有多個變量引用它,del其中一個變量是不會回收該對象的。
栗子如下:
#coding=utf-8
class Item:
def __init__(self,name,price):
self.name=name
self.price=price
def __del__(self):
print('del方法刪除對象')
#創建一個Item對象,將之賦值給it變量
it = Item('鼠標',29.8)
x = it
#打印it所引用的Item對象
del it
print('----------')
控制臺打印如下:
解釋:第6、7行代碼重寫了Item類的__del__() 方法,當系統將要回收Item時,系統會自動調用Item對象的__del__() 方法。上面的程序先創建了一個Item對象并將該對象賦值給變量it,第10行代碼又將it賦值給x,所以程序中有兩個變量引用了Item對象,然后程序執行del it 刪除it對象,此時由于還有變量引用該Item對象,因此程序并不會回收Item對象。所以會看到如上面的輸出結果,為什么會這樣?因為del it 之后,程序并沒有回收Item對象,只有等到程序即將結束時(系統必須回收所有對象),系統才會回收Item對象。如果將第10行代碼注釋,打印如下:
解釋:注釋之后,當程序執行del it ,此時程序中不再有任何變量引用Item對象,因此系統會立即回收該對象,不需要等到程序結束前。
python中常用的九種預處理方法
本文總結的是我們大家在python中常見的數據預處理方法,以下通過sklearn的preprocessing模塊來介紹; 1. 標準化(Standardization or Mean Removal ...
舉例詳解Python中的split()函數的使用方法
這篇文章主要介紹了舉例詳解Python中的split()函數的使用方法,split()函數的使用是Python學習當中的基礎知識,通常用于將字符串切片并轉換為列表,需要的朋友可以參考下 ? 函數:sp ...
Python中os和shutil模塊實用方法集…
Python中os和shutil模塊實用方法集錦 類型:轉載 時間:2014-05-13 這篇文章主要介紹了Python中os和shutil模塊實用方法集錦,需要的朋友可以參考下 復制代碼代碼如下: ...
Python中os和shutil模塊實用方法集錦
Python中os和shutil模塊實用方法集錦 類型:轉載 時間:2014-05-13 這篇文章主要介紹了Python中os和shutil模塊實用方法集錦,需要的朋友可以參考下 復制代碼代碼如下: ...
Python中的str與unicode處理方法
Python中的str與unicode處理方法 2015/03/25 ·?基礎知識?·?3 評論·?Python 分享到:42 原文出處:?liuaiqi627 的博客??? python2.x中處理 ...
python中執行shell的兩種方法總結
這篇文章主要介紹了python中執行shell的兩種方法,有兩種方法可以在Python中執行SHELL程序,方法一是使用Python的commands包,方法二則是使用subprocess包,這兩個包 ...
python中的json的基本使用方法
在python中使用json的時候,主要也就是使用json模塊,json是以一種良好的格式來進行數據的交互,從而在很多時候,可以使用json數據格式作為程序之間的接口, #!/usr/bin/env ...
Python中xlrd和xlwt模塊使用方法 (python對excel文件的操作)
本文主要介紹可操作excel文件的xlrd.xlwt模塊.其中xlrd模塊實現對excel文件內容讀取,xlwt模塊實現對excel文件的寫入. 安裝xlrd和xlwt模塊 xlrd和xlwt模塊不是 ...
簡介Python中用于處理字符串的center()方法
簡介Python中用于處理字符串的center()方法 這篇文章主要介紹了簡介Python中用于處理字符串的center()方法,是Python入門中的基礎知識,需要的朋友可以參考下 center() ...
Python中針對函數處理的特殊方法
Python中針對函數處理的特殊方法 很多語言都提供了對參數或變量進行處理的機制,作為靈活的Python,提供了一些針對函數處理的特殊方法 filter(function, sequence):對se ...
隨機推薦
OpenGL管線(用經典管線代說著色器內部)
圖形管線(graphics pipeline)向來以復雜為特點,這歸結為圖形任務的復雜性和挑戰性.OpenGL作為圖形硬件標準,是最通用的圖形管線版本.本文用自頂向下的思路來簡單總結OpenGL圖形管 ...
如何開始DDD(完)
連續寫了兩篇文章,這一篇我想是序的完結篇了.結合用戶注冊的例子再將他簡單豐富一下.在這里只添加一個簡單需求,就是用戶注冊成功后給用戶發一封郵件.補充一下之前的代碼 public class Domai ...
rails provide與content_for的區別
頁面渲染時:provide先執行,但找到一個provide之后就不再查找 content_for 順序執行,在哪個位置,就等之前的渲染完后才執行.但是要等到所有的content被查找完后一塊返回,也就 ...
UI:基礎
App的生命周期 參考 多態的使用 // // main.m #import #import "SingleDog.h&quo ...
轉載IEnumerable與IEnumerator區別
public interface IEnumerable { ??? IEnumerator GetEnumerator(); } ? public interface IEnumerator { ? ...
Vim--寫在開始
這是Vim的學習記錄,結合Vim使用技巧一書.
BZOJ 1412: [ZJOI2009]狼和羊的故事( 最小割 )
顯然是最小割...把狼的領地連S, 羊的領地連T, 然后中間再連邊, 跑最大流就OK了 -------------------------------------------------------- ...
xdebug的安裝和配置方法
首先讓php錯誤顯示,僅僅須要改動php.ini其中的2條指令,把 displayerrors和htmlerrors都設置為On,例如以下所看到的 html_errors = On ? ? ? ?di ...
PHP實現偽靜態方法匯總
PHP偽靜態的使用主要是為了隱藏傳遞的參數名,下面給大家介紹php實現偽靜態的方法,對php實現偽靜態相關知識感興趣的朋友一起學習吧 PHP偽靜態的使用主要是為了隱藏傳遞的參數名,下面給大家介紹php ...
Java IO基礎總結
Java中使用IO(輸入輸出)來讀取和寫入,讀寫設備上的數據.硬盤文件.內存.鍵盤......,根據數據的走向可分為輸入流和輸出流,這個走向是以內存為基準的,即往內存中讀數據是輸入流,從內存中往外寫是 ...
總結
以上是生活随笔為你收集整理的python特殊变量方法 不懂_Python中的常见特殊方法—— del方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vivo在CES上展示的屏下指纹识别,能
- 下一篇: python画画bup_用Python编