self有什么用?
在調(diào)用實(shí)例的方法時(shí),Python解釋器會自己把實(shí)例!!變量!!傳給類的函數(shù)中的self。
以上述代碼I為例,代碼I定義了一個(gè)類Test,在這個(gè)類中,self為參數(shù)變量,在類Test實(shí)例化得到實(shí)例ins時(shí),python解釋器自動調(diào)用__init__,執(zhí)行Test.init(ins, 123),該self可接收實(shí)例ins的內(nèi)存地址,從而self代表了實(shí)例本身。類似的,如果實(shí)例化ins后,執(zhí)行ins.fun1( ),python解釋器會將ins.fun1( )解釋成Test.fun1(ins)。可見,self這個(gè)變量是無需用戶手動傳送值的,解釋器會自動幫我們給其傳遞實(shí)例。
需要注意的是,self不是關(guān)鍵字,換言之,可以用其它的合法變量名替換self,但是,規(guī)范和標(biāo)準(zhǔn)建議我們一致使用self。