91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是Python的類方法和靜態方法

發布時間:2020-08-25 14:00:09 來源:億速云 閱讀:124 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關什么是Python的類方法和靜態方法,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

類方法

類方法:是類對象所擁有的方法,需要用修飾器@classmethod來標識其為類方法,對于類方法,第一個參數必須是類對象,一般以cls作為第一個參數(當然可以用其他名稱的變量作為其第一個參數,但是大部分人都習慣以’cls’作為第一個參數的名字,就最好用’cls’了),能夠通過實例對象和類對象去訪問。

class Person(object):
    country = "china"
    @classmethod
    def getCountry(cls):
        return cls.country
p = Person()
print(p.getCountry()) #正確,實例對象可以調用類方法
print(Person.getCountry())

運行結果為:

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()) #正確,實例對象可以調用類方法
print(Person.getCountry())
     
p.setCountry("CHINA")
print(p.getCountry())
Person.setCountry("中國")
print(Person.getCountry())

運行結果為:

china
china
CHINA
中國

結果顯示在用類方法對類屬性修改之后,通過類對象和實例對象訪問都發生了改變。

靜態方法

靜態方法:需要通過修飾器@staticmethod來進行修飾,靜態方法不需要多定義參數。

class Person(object):
    country = "china"
    @staticmethod
    def getCountry():
        return Person.country
p = Person()
print(p.getCountry())
print(Person.getCountry())

運行結果為:

china
china

總結:

實例方法:

定義:第一個參數必須是實例對象,該參數名一般約定為“self”,通過它來傳遞實例的屬性和方法(也可以傳類的屬性和方法);

調用:只能由實例對象調用。

類方法:

定義:使用裝飾器@classmethod。

第一個參數必須是當前類對象,該參數名一般約定為“cls”,通過它來傳遞類的屬性和方法(不能傳實例的屬性和方法);

調用:實例對象和類對象都可以調用。

靜態方法:

定義:使用裝飾器@staticmethod。參數隨意,沒有“self”和“cls”參數,但是方法體中不能使用類或實例的任何屬性和方法;

調用:實例對象和類對象都可以調用。

上述就是小編為大家分享的什么是Python的類方法和靜態方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄浦区| 克什克腾旗| 道孚县| 章丘市| 九龙坡区| 龙里县| 宁强县| 宜君县| 于田县| 乌苏市| 靖边县| 玉山县| 台东市| 郧西县| 三都| 岢岚县| 宣城市| 罗山县| 马龙县| 新竹县| 邯郸县| 临西县| 清徐县| 黑龙江省| 江陵县| 集安市| 大庆市| 灵丘县| 嘉义市| 安阳县| 沙河市| 长顺县| 缙云县| 石泉县| 休宁县| 阿合奇县| 万山特区| 莆田市| 油尖旺区| 连云港市| 尼勒克县|