国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費(fèi)學(xué)習(xí)課程

            當(dāng)前位置:首頁  >  技術(shù)干貨  > 如何在Python中定義類方法和修改類屬性?

            如何在Python中定義類方法和修改類屬性?

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-11-06 09:03:52 1699232632

            Python中的類還可定義使用@classmethod修飾的類方法和使用@staticmethod修飾的靜態(tài)方法,下面分別介紹這兩種方法。

            類方法與實(shí)例方法有以下不同:

            (1)類方法使用裝飾器@classmethod修飾;

            (2)類方法的第一個參數(shù)為cls而非self,它代表類本身;

            (3)類方法即可由對象調(diào)用,亦可直接由類調(diào)用;

            (4)類方法可以修改類屬性,實(shí)例方法無法修改類屬性。

            下面分別介紹如何定義類方法,以及如何使用類方法修改類屬性。

            1.定義類方法

            類方法可以通過類名或?qū)ο竺M(jìn)行調(diào)用,其語法格式如下:

            類名.類方法

            對象名.類方法

            定義一個含有類方法use_classmet()的類Test,示例代碼如下:

            classTest:

            @classmethod

            defuse_classmet(cls):

            print("我是類方法")

            創(chuàng)建類Test的對象test,分別使用類Test和對象test調(diào)用類方法use_classmet(),具體代碼如下:

            test=Test()

            test.use_classmet()#對象名調(diào)用類方法

            Test.use_classmet()#類名調(diào)用類方法

            運(yùn)行代碼,結(jié)果如下所示:

            我是類方法

            我是類方法

            從輸出結(jié)果中可以看出,使用類名或?qū)ο竺烧{(diào)用類方法。

            2.修改類屬性

            在實(shí)例方法中無法修改類屬性的值,但在類方法中可以將類屬性的值進(jìn)行修改。例如,定義一個Apple類,該類中包含類屬性count、實(shí)例方法add_one()和類方法add_two(),示例代碼如下:

            classApple(object):#定義Apple類

            count=0#定義類屬性

            defadd_one(self):

            self.count=1#對象方法

            @classmethoddefadd_two(cls):

            cls.count=2#類方法

            創(chuàng)建一個Apple類的對象apple,分別使用對象apple和類Apple調(diào)用實(shí)例方法add_one()和類方法add_two(),修改類屬性count的值,并在修改之后訪問類屬性count。示例代碼如下:

            apple=Apple()

            apple.add_one()

            print(Apple.count)

            Apple.add_two()

            print(Apple.count)

            運(yùn)行程序,結(jié)果如下所示:

            0

            2

            從輸出結(jié)果中可以看出,調(diào)用實(shí)例方法add_one()后訪問count的值為0,說明屬性count的值并沒有被修改;調(diào)用類方法add_two()后再次訪問count的值為2,說明類屬性count的值被修改成功。

            可能大家會存在這樣的疑惑,在實(shí)例方法add_one()中明明通過“self.count=1”重新為count賦值,為什么count的值仍然為0呢?這是因?yàn)?,通過“self.count=1”只是創(chuàng)建了一個與類屬性同名的實(shí)例屬性count并將其賦值為1,而非對類屬性重新賦值。通過對象apple訪問count屬性進(jìn)行測試:

            print(apple.count)

            運(yùn)行程序,結(jié)果如下所示:

            1

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費(fèi)領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT