python靜態(tài)方法與類方法 python靜態(tài)方法作用?
python靜態(tài)方法作用?它主要用于封裝類中的附加函數(shù)。但是,在使用它時(shí),我們不希望在調(diào)用它時(shí)首先創(chuàng)建實(shí)例化對(duì)象。它與類本身無(wú)關(guān),等價(jià)于類中的一個(gè)獨(dú)立函數(shù)。python為什么要使用靜態(tài)方法?Pytho
python靜態(tài)方法作用?
它主要用于封裝類中的附加函數(shù)。但是,在使用它時(shí),我們不希望在調(diào)用它時(shí)首先創(chuàng)建實(shí)例化對(duì)象。它與類本身無(wú)關(guān),等價(jià)于類中的一個(gè)獨(dú)立函數(shù)。
python為什么要使用靜態(tài)方法?
Python使用靜態(tài)方法,類似于函數(shù)工具。一般來(lái)說(shuō),靜態(tài)方法被盡可能少地使用。
Python的靜態(tài)方法和類成員方法可以通過(guò)類或?qū)嵗L問(wèn)。厘清它們的概念并不容易,但它們之間還是有區(qū)別的:1。靜態(tài)方法不需要傳入self參數(shù),類成員方法需要傳入表示類的CLS參數(shù);
2。從第一點(diǎn)看,靜態(tài)方法不能訪問(wèn)實(shí)例變量,類成員方法不能訪問(wèn)實(shí)例變量,但是靜態(tài)方法有點(diǎn)像函數(shù)工具庫(kù),而類成員方法更像java面向?qū)ο蟾拍钪械撵o態(tài)方法。
Python中的classmethod和staticmethod有什么具體用途?
區(qū)別在于以下兩個(gè)方面:
1。Classmethod類方法必須將類作為第一個(gè)參數(shù),“can access the class variable”,可以通過(guò)實(shí)例名或類名訪問(wèn);
2。靜態(tài)方法Static method不強(qiáng)制傳入self或CLS,對(duì)類和實(shí)例一無(wú)所知(相當(dāng)于將class方法變成普通方法,獨(dú)立于類),“無(wú)法訪問(wèn)類”還可以通過(guò)實(shí)例名或類名訪問(wèn)實(shí)例變量。
具體用途如下:
1。Classmethod類方法依賴self或CLS來(lái)傳遞參數(shù),因此它必須寫在類中,與類密切相關(guān),并且可以訪問(wèn)類外的類變量;
2。靜態(tài)方法靜態(tài)方法完全獨(dú)立于類,因此它不能訪問(wèn)類方法。
就這么簡(jiǎn)單。是否需要訪問(wèn)類變量取決于是否需要訪問(wèn)類方法。