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

python回顧(十一)——對象管理

bubuko 針對 技術分享 pytho 實例對象 內存 兩個 再次 引用關系

對象的創建

__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進行判定

python回顧(十一)——對象管理