魔術方法就是乙個類\物件中的方法,和普通方法唯一的不同是:普通方法需要呼叫,而魔術方法是在特定時刻自動觸發。
1、__init__
初始化方法2、觸發時機:初始化物件時觸發(不是例項化觸發,但和例項化在乙個操作中)
引數:至少有乙個self,接收物件
返回值:無
作用:初始化物件的成員
注意:使用該方式初始化的成員都是直接寫入物件當中,類中無法具有
__new__
例項化方法3、觸發時機:在例項化時觸發
引數:至少有乙個clsj接收當前類
返回值:必須返回乙個物件例項
作用:例項化物件
注意:例項化物件是object類底層實現,其他類繼承了object類的
__new__
才能夠實現例項化方法
__del__
析構方法觸發時機:當物件沒有用(沒有任何變數引用)的時候觸發
引數:乙個self
返回值:無
作用:使用完物件後**資源
注意:del不一定會觸發當前方法,只有當前物件沒有任何變數接收時才會觸發
#1、物件賦值
p = person(
)p1 = p
#2、刪除位址的引用
del p1
#3、檢視對位址的引用次數
import sys
sys.getrefcount(p)
#4、當一塊空間(物件)沒有了任何引用,預設執行__del__
4、__str__
print例項時列印出來的內容,不定義可以呼叫,重新定義後則可以定製列印內容5、
__cal__
呼叫物件的魔術方法觸發時機:將物件當做函式呼叫時觸發 物件()
引數:至少乙個self接收物件,其餘根據呼叫時的引數決定。
返回值:根據自定義的情況而定
python 物件導向的內建方法
要求 了解即可,能用最好 1.print obj str obj s obj 都呼叫obj.str 方法,若類中沒有找 repr 方法,若沒有找父類的 str 方法,若沒有找 repr 方法,直到object 2.r obj repr obj 都呼叫obj.repr 方法,若類中沒有找到 repr ...
物件導向內建方法
判斷obj是否是cls類的物件 例 li 1,2,3,4 def run list li for i in li if isinstance i,list run list i else print i run list li 判斷sub是否是super的派生類通過字串的形式操作物件的相關屬性 1 ...
Python 物件導向程式設計 內建類方法
說明 init self,初始化物件,在建立新物件時呼叫 del self 釋放物件,在物件被刪除之前呼叫 new cls,args,kwd 例項的生成操作 str self 在使用print語句時被呼叫 getitem self,key 獲取序列的索引key對應的值,等價於seq key len ...