日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python中類方法的區(qū)別是什么

面相對象程序設(shè)計(jì)中,類方法和靜態(tài)方法是經(jīng)常用到的兩個術(shù)語。

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出花垣免費(fèi)做網(wǎng)站回饋大家。

邏輯上講:類方法是只能由類名調(diào)用;靜態(tài)方法可以由類名或?qū)ο竺M(jìn)行調(diào)用。

在C++中,靜態(tài)方法與類方法邏輯上是等價的,只有一個概念,不會混淆。

而在Python中,方法分為三類:實(shí)例方法、類方法、靜態(tài)方法。代碼如下:

class Test(object):
def InstanceFun(self):
    print("InstanceFun");
    print(self);

@classmethod
def ClassFun(cls):
    print("ClassFun");
    print(cls);

@staticmethod
def StaticFun():
    print("StaticFun");
    t = Test();
    t.InstanceFun();     ?。?nbsp;輸出InstanceFun,打印對象內(nèi)存地址“<__main__.Test object at 0x0293DCF0>”
    Test.ClassFun();           # 輸出ClassFun,打印類位置 
    Test.StaticFun();          # 輸出StaticFun
    t.StaticFun();             # 輸出StaticFun
    t.ClassFun();              # 輸出ClassFun,打印類位置 
    Test.InstanceFun();        # 錯誤,TypeError: unbound method instanceFun() must be called with Test 
                                    instance as first argument
    Test.InstanceFun(t);       # 輸出InstanceFun,打印對象內(nèi)存地址“<__main__.Test object at 0x0293DCF0>”
    t.ClassFun(Test);          # 錯誤   classFun() takes exactly 1 argument (2 given)

可以看到,在PYTHON中,兩種方法的主要區(qū)別在于參數(shù)。實(shí)例方法隱含的參數(shù)為類實(shí)例self,而類方法隱含的參數(shù)為類本身cls。
靜態(tài)方法無隱含參數(shù),主要為了類實(shí)例也可以直接調(diào)用靜態(tài)方法。

所以邏輯上類方法應(yīng)當(dāng)只被類調(diào)用,實(shí)例方法實(shí)例調(diào)用,靜態(tài)方法兩者都能調(diào)用。主要區(qū)別在于參數(shù)傳遞上的區(qū)別,實(shí)例方法悄悄傳遞的是self引用作為參數(shù),而類方法悄悄傳遞的是cls引用作為參數(shù)。
Python實(shí)現(xiàn)了一定的靈活性使得類方法和靜態(tài)方法,都能夠被實(shí)例和類二者調(diào)用。


文章標(biāo)題:創(chuàng)新互聯(lián)Python教程:python中類方法的區(qū)別是什么
鏈接分享:http://www.dlmjj.cn/article/cdpgghg.html