Python中綁定與未綁定的類方法用法分析
本文實(shí)例講述了Python中綁定與未綁定的類方法。分享給大家供大家參考,具體如下:
像函數(shù)一樣,Python中的類方法也是一種對象。由于既可以通過實(shí)例也可以通過類來訪問方法,所以在Python里有兩種風(fēng)格:
未綁定的類方法:沒有self
通過類來引用方法返回一個(gè)未綁定方法對象。要調(diào)用它,你必須顯示地提供一個(gè)實(shí)例作為第一個(gè)參數(shù)。
綁定的實(shí)例方法:有self
通過實(shí)例訪問方法返回一個(gè)綁定的方法對象。Python自動地給方法綁定一個(gè)實(shí)例,所以我們調(diào)用它時(shí)不用再傳一個(gè)實(shí)例參數(shù)。
兩種方法都是對象,它們可以被傳遞、存入列表等待。兩者運(yùn)行時(shí)都需要一個(gè)實(shí)例作為第一參數(shù)(妤一個(gè)self值),但當(dāng)通過一個(gè)實(shí)例調(diào)用一個(gè)綁定方法時(shí)Python自動會提供一個(gè)。例如我們運(yùn)行如下的代碼:
class Test:
def func(self,message):
print message
object1=Test()
x=object1.func
x('綁定方法對象,實(shí)例是隱含的')
t=Test.func
t(object1,'未綁定的方法對象,需要傳遞一個(gè)實(shí)例')
#t('未綁定的方法對象,需要傳遞一個(gè)實(shí)例') #錯(cuò)誤的調(diào)用
object1=Test()生成一個(gè)實(shí)例,object1.func返回一個(gè)綁定的方法,把實(shí)例object1和方法func綁定。
而Test.func是用類去引用方法,我們得到一個(gè)未綁定的方法對象。要調(diào)用它就得傳一個(gè)實(shí)例參數(shù),如t(object1,'未綁定的方法對象,需要傳遞一個(gè)實(shí)例') 。
大多數(shù)時(shí)候,我們都直接調(diào)用方法,所以一般不會注意到方法對象。但是如果開始寫通用的調(diào)用對象的代碼時(shí),需要特別仔細(xì)地注意未綁定方法,它們需要地傳一個(gè)實(shí)例參數(shù)。
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于Pydantic封裝的通用模型在API請求驗(yàn)證中的應(yīng)用詳解
這篇文章主要介紹了基于Pydantic封裝的通用模型在API請求驗(yàn)證中的應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2023-05-05
Python使用combinations實(shí)現(xiàn)排列組合的方法
今天小編就為大家分享一篇Python使用combinations實(shí)現(xiàn)排列組合的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
使用Flask開發(fā)RESTful?API的方法實(shí)現(xiàn)
RESTful?API是一種基于REST架構(gòu)風(fēng)格設(shè)計(jì)的Web服務(wù)接口,本文主要介紹了使用Flask開發(fā)RESTful?API的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
Python練習(xí)之讀取XML節(jié)點(diǎn)和屬性值的方法
這篇文章主要介紹了Python練習(xí)之讀取XML節(jié)點(diǎn)和屬性值的方法,通過parse函數(shù)可以讀取XML文檔,該函數(shù)返回ElementTree類型的對象,通過該對象的iterfind方法可以對XML中特定節(jié)點(diǎn)進(jìn)行迭代2022-06-06
Python數(shù)據(jù)處理-導(dǎo)入導(dǎo)出excel數(shù)據(jù)
這篇文章主要介紹了Python數(shù)據(jù)處理-導(dǎo)入導(dǎo)出excel數(shù)據(jù),Python的一大應(yīng)用就是數(shù)據(jù)分析了,而數(shù)據(jù)分析中,經(jīng)常碰到需要處理Excel數(shù)據(jù)的情況。這里做一個(gè)Python處理Excel數(shù)據(jù)的總結(jié),需要的小伙伴可以參考一下2022-01-01

