1. 程式人生 > >python回顧(十一)——物件管理

python回顧(十一)——物件管理

物件的建立

__new__方法作用

 

  __new__方法用於定義建立物件時執行的操作,__new__方法僅僅為使用者提供一個建立物件時干預的入口,真正執行建立物件的操作由object類中的__new__方法完成

 

 

__new__方法定義

 

  定義__new__方法是對object類中__new__方法的重寫,重寫該方法時必須再次呼叫object類中的__new__方法

 

 

__new__方法呼叫

  __new__方法在建立物件時自動執行,無需手工執行呼叫該方法

 

 

 

 

物件的刪除

del操作作用

  del操作的實質是斷開變數與記憶體資料之間的引用,操作del執行後等同於對應變數未進行過定義

 

del操作執行範圍

  1,刪除定義的變數:功能等同於變數未定義

  

 

  2,刪除儲存模型中的資料:將資料按照變數的形式看待,功能等同於未定義過對應的資料

      列表資料報錯:索引不存在

      

      元組物件報錯:元組物件不支援對項的刪除

      

 

      字典物件報錯:鍵錯誤,鍵不存在

       

 

      物件中的屬性:對應物件等同於該物件未定義過該屬性

       

 

__del__方法作用

  __del__方法用於定義物件不存在任何引用時執行的操作。當物件斷開了與最後一個變數之間的引用關係時,將執行該物件的__del__方法

 

__del__方法執行範圍

  1.當手工執行斷開變數與物件的最後一個引用時執行,即del操作

  2.當程式執行完畢時,所有變數對應的引用都斷開,此時執行,即退出程式

 

__del__方法呼叫

  __del__方法在物件斷開與最後一個變數之間的引用關係時自動執行,無需手工執行呼叫該方法

 

 

 

物件判斷

物件判等概念

  當兩個物件對應的引用地址相同時,稱這兩個物件是同一個物件

 

物件判等語法格式

  物件引用地址判等:

    物件名 is 物件名 或 變數名 is 變數名

  資料引用地址判定:

    資料 is 資料

  注:判等操作的結果是True或False

    3.3 ==與is的區別

 

  ==操作針對判定內容不同規則不同。例如數值性資料比較數值大小不考慮是整數還是小數。字串比較字串的內容是否相同,不考慮引用地址是否相同

  is操作只針對地址進行判定,只要地址相同返回True,否則返回False

 

 

 

單例模式

單例模式的作用

  控制一個類只能創建出單個例項物件

  

 

單例模式書寫規範

 

注意事項

  1.定義的類變數要進行私有化,否則可以通過類名在類的外部訪問到

  2.物件的判空操作使用is進行判定