這篇文章主要為大家展示了“Python中面向?qū)ο箪o態(tài)方法、類(lèi)方法、屬性方法的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Python中面向?qū)ο箪o態(tài)方法、類(lèi)方法、屬性方法的示例分析”這篇文章吧。
我們注重客戶提出的每個(gè)要求,我們充分考慮每一個(gè)細(xì)節(jié),我們積極的做好成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)服務(wù),我們努力開(kāi)拓更好的視野,通過(guò)不懈的努力,創(chuàng)新互聯(lián)建站贏得了業(yè)內(nèi)的良好聲譽(yù),這一切,也不斷的激勵(lì)著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),微信小程序,網(wǎng)站開(kāi)發(fā),技術(shù)開(kāi)發(fā)實(shí)力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫(kù)的技術(shù)開(kāi)發(fā)工程師。具體如下:
(1)靜態(tài)方法--》-@staticmethod
裝飾類(lèi)中方法
只是名義上歸類(lèi)管理, 實(shí)際上在靜態(tài)方法里訪問(wèn)不了類(lèi)或?qū)嵗械娜魏螌傩?/p>
class Dog(object): def __init__(self,name): self.name = name @staticmethod #實(shí)際上跟類(lèi)沒(méi)什么關(guān)系了 def eat(self): print("%s is eating %s" %(self.name,'dd')) def talk(self): print("%s is talking"% self.name) d = Dog("Td") d.eat(d)
(2)類(lèi)方法-----》 @classmethod
裝飾類(lèi)中方法
只能訪問(wèn)類(lèi)變量,不能訪問(wèn)實(shí)例變量
@classmethod def eat(self): print("%s is eating %s" %(self.name,'dd'))
(3)屬性方法----》 @property #attribute
裝飾類(lèi)中方法
把一個(gè)方法變成一個(gè)靜態(tài)屬性
@property #attribute def eat(self): print("%s is eating %s" %(self.name)) # 調(diào)用 Dog("TD").eat
1.需要將一個(gè)值傳遞給eat屬性方法-----修改屬性值?
存在的問(wèn)題是變成屬性了直接賦值是無(wú)法實(shí)現(xiàn)的,需要在重新相同的方法,同時(shí)將該方法加上@eat.setter
進(jìn)行裝飾。
@property #attribute def eat(self): print("%s is eating %s" %(self.name,self.__food)) @eat.setter def eat(self,food): print("set to food:",food) Self.__food=food
2.刪除屬性---同名方法使用 @eat.deleter
修飾
@property #attribute def eat(self): print("%s is eating %s" %(self.name,self.__food)) @eat.deleter def eat(self): del self.__food
總結(jié):
1. 通過(guò)@staticmethod
裝飾器即可把其裝飾的方法變?yōu)橐粋€(gè)靜態(tài)方法,什么是靜態(tài)方法呢?其實(shí)不難理解,普通的方法,可以在實(shí)例化后直接調(diào)用,并且在方法里可以通過(guò)self.調(diào)用實(shí)例變量或類(lèi)變量,但靜態(tài)方法是不可以訪問(wèn)實(shí)例變量或類(lèi)變量的,一個(gè)不能訪問(wèn)實(shí)例變量和類(lèi)變量的方法,其實(shí)相當(dāng)于跟類(lèi)本身已經(jīng)沒(méi)什么關(guān)系了,它與類(lèi)唯一的關(guān)聯(lián)就是需要通過(guò)類(lèi)名來(lái)調(diào)用這個(gè)方法。
2. 類(lèi)方法通過(guò)@classmethod
裝飾器實(shí)現(xiàn),類(lèi)方法和普通方法的區(qū)別是, 類(lèi)方法只能訪問(wèn)類(lèi)變量,不能訪問(wèn)實(shí)例變量。
3. 屬性方法的作用就是通過(guò)@property
把一個(gè)方法變成一個(gè)靜態(tài)屬性,調(diào)用時(shí)與調(diào)用屬性的方式相同。
3.1 把一個(gè)方法變成靜態(tài)屬性的作用:
當(dāng)某個(gè)屬性的值是一系列動(dòng)作后才得到的結(jié)果。所以每次調(diào)用時(shí),其實(shí)它都要經(jīng)過(guò)一系列的動(dòng)作才返回結(jié)果的,但這些動(dòng)作過(guò)程不需要用戶關(guān)心,用戶只關(guān)心得到這個(gè)屬性的值即可,也就是說(shuō)用戶只需要調(diào)用這個(gè)屬性就可以了。
(1)修改屬性值
將由@proerty
裝飾器(把一個(gè)方法變成一個(gè)靜態(tài)屬性)使用@proerty.setter
裝飾器再裝飾一下,此時(shí) 你需要寫(xiě)一個(gè)新方法(同名), 對(duì)這個(gè)屬性值進(jìn)行更改。
(2)刪除屬性
#1:將由@proerty
裝飾器(把一個(gè)方法變成一個(gè)靜態(tài)屬性)使用@proerty.deleter
裝飾器再裝飾一下,此時(shí) 你需要寫(xiě)一個(gè)新方法(同名)。
#2:使用del刪除該實(shí)例所對(duì)應(yīng)的屬性方法(屬性) 例如:del 對(duì)象.屬性
以上是“Python中面向?qū)ο箪o態(tài)方法、類(lèi)方法、屬性方法的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱(chēng):Python中面向?qū)ο箪o態(tài)方法、類(lèi)方法、屬性方法的示例分析-創(chuàng)新互聯(lián)
文章地址:http://jinyejixie.com/article32/dpsopc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄、定制開(kāi)發(fā)、品牌網(wǎng)站建設(shè)、微信公眾號(hào)、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容