英文文檔
classmethod(function)
Return a class method for function.
A class method receives the class as implicit first argument, just like an instance method receives the instance. To declare a class method, use this idiom:
class C:
??? @classmethod
??? def f(cls, arg1, arg2, ...): ...
classmethod()
1、classmethod 是一個(gè)裝飾器函數(shù),用來標(biāo)示一個(gè)方法為類方法
2、類方法的第一個(gè)參數(shù)是類對象參數(shù),在方法被調(diào)用的時(shí)候自動(dòng)將類對象傳入,參數(shù)名稱約定為cls
3、如果一個(gè)方法被標(biāo)示為類方法,則該方法可被類對象調(diào)用(如 C.f()),也可以被類的實(shí)例對象調(diào)用(如 C().f())
>>> class C: ???? @classmethod ???? def f(cls, arg1): ?????????? print (cls) ?????????? print (arg1) ????? >>> C.f('類對象調(diào)用類方法')
類對象調(diào)用類方法 >>> c = C() >>> c.f('類實(shí)例對象調(diào)用類方法') 類實(shí)例對象調(diào)用類方法
4、類被繼承后,子類也可以調(diào)用父類的類方法,但是第一個(gè)參數(shù)傳入的是子類的類對象
>>> class D(C): ?????? pass >>> D.f("子類的類對象調(diào)用父類的類方法")
子類的類對象調(diào)用父類的類方法
小結(jié)
希望通過上面的操作能幫助大家。如果你有什么好的意見,建議,或者有不同的看法,希望你留言和我進(jìn)行交流、討論。
歡迎關(guān)注微信公眾號,訪問更多精彩: 數(shù)據(jù)之魅 。
如需轉(zhuǎn)載,請聯(lián)系授權(quán),謝謝合作。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
