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操作只針對地址進行判定,只要地址相同即返回True,否則返回False
單例模式
單例模式的作用
控制一個類只能創建出單個實例對象
單例模式書寫規範
註意事項
1.定義的類變量要進行私有化,否則可以通過類名在類的外部訪問到
2.對象的判空操作使用is進行判定
python回顧(十一)——對象管理