真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么使用@Staticmethod、@Classmethod和@Property類裝飾器

這篇文章主要講解了“怎么使用@Staticmethod、@Classmethod和@Property類裝飾器”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么使用@Staticmethod、@Classmethod和@Property類裝飾器”吧!

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到平邑網(wǎng)站設(shè)計(jì)與平邑網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋平邑地區(qū)。

怎么使用@Staticmethod、@Classmethod和@Property類裝飾器

@staticmethod 與 @classmethod在Python中稱為  裝飾器,用來(lái)修飾函數(shù),相當(dāng)于添加一個(gè)額外的功能,不再像普通函數(shù)那樣進(jìn)行實(shí)例化。

@staticmethod和@classmethod

其實(shí)@staticmethod和@classmethod都是用來(lái)聲明靜態(tài)方法的。只不過(guò)一個(gè)聲明靜態(tài)方法,一個(gè)聲明類方法。

靜態(tài)方法:使用裝飾器@staticmethod。沒(méi)有self和cls參數(shù)。

類方法:使用裝飾器@classmethod。第一個(gè)參數(shù)為當(dāng)前類的對(duì)象,通常為cls。

為了方便大家了解兩者的差別,以下的示例代碼將有助于發(fā)現(xiàn)其中的差別:

''' @Author:Runsen @微信公眾號(hào):Python之王 @博客:https://blog.csdn.net/weixin_44510615 @Date:2020/8/30 ''' class A():     # 類的屬性     x = 1      @classmethod     def get_name(cls, name):         print(cls.x)           print('my name is %s' % name)      @staticmethod     def get_age(age):         print(A.x)         print(f'i am %s years old' % age)  if __name__ == '__main__':     A.get_name('Runsen')       A.get_age(20)          # 實(shí)例對(duì)象同樣運(yùn)行     a = A()     a.get_name('Runsen')     a.get_age(20)       #輸出如下 1 my name is Runsen 1 i am 20 years old 1 my name is Runsen 1 i am 20 years old

如果在 @staticmethod 中要調(diào)用到這個(gè)類的一些屬性方法,只能直接 類名.屬性名或 類名.方法名。而 @classmethod  因?yàn)槌钟衏ls參數(shù),可以通過(guò)cls來(lái)調(diào)用類的屬性,類的方法,實(shí)例化對(duì)象等,避免硬編碼。

@property

@property可以將一個(gè)方法的調(diào)用變成屬性調(diào)用。舉例說(shuō)明:平時(shí)我們調(diào)用數(shù)據(jù)屬性和方法,是這樣的

class School():     name = "家里蹲大學(xué)"      def test(self):         print("實(shí)例方法")      @property     def test_pro(self):         print("靜態(tài)屬性")  if __name__ == "__main__":     s = School()     print(s.name)     s.test()       # 輸出如下     家里蹲大學(xué)  實(shí)例方法

這時(shí)就要用到@preperty裝飾器,該裝飾器能夠讓一個(gè)方法變成屬性調(diào)用。

class School():     name = "家里蹲大學(xué)"      def test(self):         print("實(shí)例方法")      @property     def test_pro(self):         print("靜態(tài)屬性")  if __name__ == "__main__":     s = School()     print(s.name)     # 注意返回的函數(shù) 千萬(wàn)別加()     s.test_pro       # 輸出如下    家里蹲大學(xué)  靜態(tài)屬性

從今天以后,在Python編程中,@property廣泛應(yīng)用在Python類的定義中非常常見(jiàn)。你一看到@property,第一反應(yīng)就是:@property專門負(fù)責(zé)把一個(gè)方法變成同名屬性的。

感謝各位的閱讀,以上就是“怎么使用@Staticmethod、@Classmethod和@Property類裝飾器”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么使用@Staticmethod、@Classmethod和@Property類裝飾器這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


當(dāng)前標(biāo)題:怎么使用@Staticmethod、@Classmethod和@Property類裝飾器
文章起源:http://weahome.cn/article/ihoiop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部