本文實例講述了Python中綁定與未綁定的類別方法。分享給大家供大家參考,具體如下:
像函數一樣,Python中的類別方法也是一種物件。由於既可以透過實例也可以透過類別來存取方法,所以在Python裡有兩種風格:
#未綁定的類別方法:沒有self
##透過類別來引用方法傳回一個未綁定方法物件。要呼叫它,你必須顯示地提供一個實例作為第一個參數。綁定的實例方法:有self
透過實例存取方法傳回一個綁定的方法物件。 Python自動地給方法綁定一個實例,所以我們呼叫它時不用再傳一個實例參數。 兩種方法都是對象,它們可以被傳遞、存入列表等待。兩者運行時都需要一個實例作為第一參數(妤一個self值),但當透過一個實例呼叫綁定方法時Python自動會提供一個。例如我們運行如下的程式碼:class Test: def func(self,message): print message object1=Test() x=object1.func x('绑定方法对象,实例是隐含的') t=Test.func t(object1,'未绑定的方法对象,需要传递一个实例') #t('未绑定的方法对象,需要传递一个实例') #错误的调用object1=Test()產生一個實例,object1.func回傳一個綁定的方法,把實例object1和方法func綁定。 而Test.func是用類別去引用方法,我們得到一個未綁定的方法物件。要呼叫它就得傳一個實例參數,如t(object1,'未綁定的方法對象,需要傳遞一個實例') 。 大多數時候,我們都直接呼叫方法,所以一般不會注意到方法物件。但是如果開始寫通用的呼叫物件的程式碼時,需要特別仔細地註意未綁定方法,它們需要地傳一個實例參數。 更多詳解Python中綁定與未綁定的類別方法用法分析相關文章請關注PHP中文網!