上一篇部落格簡單的說了類別的基礎的知識,下面著重說一下類別中常用的一些方法。所謂魔法方法的一個明顯的標誌就是方法名前後都被_兩根下劃線所包含。
(1)_init_
如果不去重載或重寫該方法,系統會自動呼叫系統預設的init方法,如果為了滿足自己的需求而重寫該方法後,自己重寫的方法會自動覆寫系統的預設的方法。
class Ball: def __init__(self,name): self.name=name def kick(self): print("我叫%s,该死的,谁踢我......"%self.name) a=Ball("土豆") a.kick()
經過自己重寫init方法之後,我們在實例化一個物件的時候便可以填入一個參數。
class Rectangle: def __init__(self,x,y): self.x=x self.y=y def getPeri(self): return (self.x+self.y)*2 def getArea(self): return self.x * self.y rect=Rectangle(3,4) print(rect.getArea()) print(rect.getPeri())
(2)new(前後有兩根下劃線)
這個方法會在init方法之前被調用,一般不會用到,所以在這裡不贅
(3)(前後有兩根底線)
作用:刪除物件
class C: def __init__(self): print("我是__init__方法,我被调用了") def __del__(self): print("我是__del__方法,我被调用了") c1=C() c2=c1 c3=c2del c3del c2del c1
在這裡需要注意的是:只有當指向c1的所有標籤都被刪除之後,系統才會調用垃圾回收機制
幾個常用的魔法方法就先先說到這裡,之後會繼續補充。
以上就是Python零基礎入門之十三類中的魔法方法的內容,更多相關內容請關注PHP中文網(www.php.cn)!