這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)什么是Python的類方法和靜態(tài)方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
為齊齊哈爾等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及齊齊哈爾網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、齊齊哈爾網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
類方法
類方法:是類對象所擁有的方法,需要用修飾器@classmethod來標識其為類方法,對于類方法,第一個參數(shù)必須是類對象,一般以cls作為第一個參數(shù)(當然可以用其他名稱的變量作為其第一個參數(shù),但是大部分人都習慣以’cls’作為第一個參數(shù)的名字,就最好用’cls’了),能夠通過實例對象和類對象去訪問。
class Person(object): country = "china" @classmethod def getCountry(cls): return cls.country p = Person() print(p.getCountry()) #正確,實例對象可以調(diào)用類方法 print(Person.getCountry())
運行結(jié)果為:
china china
類方法還有一個用途就是可以對類屬性進行修改:
class Person(object): country = "china" @classmethod def getCountry(cls): return cls.country @classmethod def setCountry(cls,newCountry): cls.country = newCountry p = Person() print(p.getCountry()) #正確,實例對象可以調(diào)用類方法 print(Person.getCountry()) p.setCountry("CHINA") print(p.getCountry()) Person.setCountry("中國") print(Person.getCountry())
運行結(jié)果為:
china china CHINA 中國
結(jié)果顯示在用類方法對類屬性修改之后,通過類對象和實例對象訪問都發(fā)生了改變。
靜態(tài)方法
靜態(tài)方法:需要通過修飾器@staticmethod來進行修飾,靜態(tài)方法不需要多定義參數(shù)。
class Person(object): country = "china" @staticmethod def getCountry(): return Person.country p = Person() print(p.getCountry()) print(Person.getCountry())
運行結(jié)果為:
china china
總結(jié):
實例方法:
定義:第一個參數(shù)必須是實例對象,該參數(shù)名一般約定為“self”,通過它來傳遞實例的屬性和方法(也可以傳類的屬性和方法);
調(diào)用:只能由實例對象調(diào)用。
類方法:
定義:使用裝飾器@classmethod。
第一個參數(shù)必須是當前類對象,該參數(shù)名一般約定為“cls”,通過它來傳遞類的屬性和方法(不能傳實例的屬性和方法);
調(diào)用:實例對象和類對象都可以調(diào)用。
靜態(tài)方法:
定義:使用裝飾器@staticmethod。參數(shù)隨意,沒有“self”和“cls”參數(shù),但是方法體中不能使用類或?qū)嵗娜魏螌傩院头椒ǎ?/p>
調(diào)用:實例對象和類對象都可以調(diào)用。
上述就是小編為大家分享的什么是Python的類方法和靜態(tài)方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁名稱:什么是Python的類方法和靜態(tài)方法
標題來源:http://chinadenli.net/article12/gisddc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、定制開發(fā)、虛擬主機、面包屑導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)