首頁  >  文章  >  後端開發  >  Python零基礎入門之十三類中的魔法方法

Python零基礎入門之十三類中的魔法方法

黄舟
黄舟原創
2017-01-16 14:38:001339瀏覽

上一篇部落格簡單的說了類別的基礎的知識,下面著重說一下類別中常用的一些方法。所謂魔法方法的一個明顯的標誌就是方法名前後都被_兩根下劃線所包含。
(1)_init_ 
如果不去重載或重寫該方法,系統會自動呼叫系統預設的init方法,如果為了滿足自己的需求而重寫該方法後,自己重寫的方法會自動覆寫系統的預設的方法。

class Ball:
     def __init__(self,name):
          self.name=name     def kick(self):
          print("我叫%s,该死的,谁踢我......"%self.name)
a=Ball("土豆")
a.kick()

經過自己重寫init方法之後,我們在實例化一個物件的時候便可以填入一個參數。

Python零基礎入門之十三類中的魔法方法

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())

Python零基礎入門之十三類中的魔法方法

(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

Python零基礎入門之十三類中的魔法方法

在這裡需要注意的是:只有當指向c1的所有標籤都被刪除之後,系統才會調用垃圾回收機制 
幾個常用的魔法方法就先先說到這裡,之後會繼續補充。

以上就是Python零基礎入門之十三類中的魔法方法的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn