如何區(qū)分對象方法踢故,類方法和靜態(tài)方法

class A(object):
    def foo(self,x):
        print "executing foo(%s,%s)"%(self,x)

    @classmethod
    def class_foo(cls,x):
        print "executing class_foo(%s,%s)"%(cls,x)

    @staticmethod
    def static_foo(x):
        print "executing static_foo(%s)"%x

a=A()
a.foo(1)
a.class_foo(2)
a.static_foo(3)
print '--------'
A.class_foo(4)
A.static_foo(5)
print '--------'
print a.foo
print a.class_foo
print a.static_foo


executing foo(<__main__.A object at 0x106ad2190>,1)
executing class_foo(<class '__main__.A'>,2)
executing static_foo(3)
--------
executing class_foo(<class '__main__.A'>,4)
executing static_foo(5)
--------
<bound method A.foo of <__main__.A object at 0x106ad2190>>
<bound method type.class_foo of <class '__main__.A'>>
<function static_foo at 0x106ad1500>

解析

對象方法只能用類的實例對象調(diào)用虑瀑,A.foo(1)會報錯襟沮,對象方法默認(rèn)將對象實體a傳遞給方法的第一個參數(shù)(self)未辆;
類方法默認(rèn)傳遞給第一個參數(shù)的是類(class A)蔽挠,通常用變量cls表示脖咐,而不是self师崎。類方法既可以用類名調(diào)用也可以用類的實例調(diào)用默终。

以上所說默認(rèn)傳遞第一個參數(shù),為什么呢抡诞?
a.foo 僅僅需要一個參數(shù)穷蛹,是因為foo函數(shù)默認(rèn)是綁定到a這個對象上的

print a.foo
<bound method A.foo of <__main__.A object at 0x106ad2190>>

a.class_foo 是A綁定到class_foo而不是 a;

最后剩下靜態(tài)方法,說到底它就是一個方法.a.static_foo只是返回一個不帶參數(shù)綁定的方法.static_foo和a.static_foo只需要一個參數(shù).

print a.static_foo
<function static_foo at 0x106ad1500>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昼汗,一起剝皮案震驚了整個濱河市肴熏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌顷窒,老刑警劉巖蛙吏,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鞋吉,居然都是意外死亡鸦做,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門谓着,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泼诱,“玉大人,你說我怎么就攤上這事赊锚≈瓮玻” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵舷蒲,是天一觀的道長耸袜。 經(jīng)常有香客問我,道長牲平,這世上最難降的妖魔是什么堤框? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上蜈抓,老公的妹妹穿的比我還像新娘启绰。我一直安慰自己,他們只是感情好沟使,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布酬土。 她就那樣靜靜地躺著,像睡著了一般格带。 火紅的嫁衣襯著肌膚如雪撤缴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天叽唱,我揣著相機(jī)與錄音屈呕,去河邊找鬼。 笑死棺亭,一個胖子當(dāng)著我的面吹牛虎眨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播镶摘,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼嗽桩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凄敢?” 一聲冷哼從身側(cè)響起碌冶,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涝缝,沒想到半個月后扑庞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡拒逮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年罐氨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片滩援。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡栅隐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出玩徊,到底是詐尸還是另有隱情租悄,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布佣赖,位于F島的核電站恰矩,受9級特大地震影響记盒,放射性物質(zhì)發(fā)生泄漏憎蛤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俩檬。 院中可真熱鬧萎胰,春花似錦、人聲如沸棚辽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屈藐。三九已至榔组,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間联逻,已是汗流浹背搓扯。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留包归,地道東北人锨推。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像公壤,于是被迫代替她去往敵國和親换可。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理厦幅,服務(wù)發(fā)現(xiàn)沾鳄,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法确憨,類相關(guān)的語法洞渔,內(nèi)部類的語法,繼承相關(guān)的語法缚态,異常的語法磁椒,線程的語...
    子非魚_t_閱讀 31,581評論 18 399
  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 1,679評論 0 9
  • 1/數(shù)獨姑娘 數(shù)獨姑娘曾是我的舍友,我們見證了彼此剛剛踏入職場的矜持與不知所措桥帆,我們小心翼翼的在彼此的成長軌跡上行...
    木棉簡兮閱讀 387評論 0 0
  • 昨天是燒錢的一天医增。早飯時,我看中一套教拼音的玩具老虫,娃也喜歡叶骨,果斷買了,240祈匙,管他呢忽刽,只要娃喜歡學(xué)就好天揖。娃還說米卡...
    圈_圈_閱讀 127評論 0 0