三.python面試題 類的三種方法

分別是類方法,靜態方法,實例方法。而能讓類只接調用的只有類方法,或通過一些小技巧,類也可以調用實例方法如上面例子中的調用
這邊順便說明下這三中方法的區別
1類方法的特點是類方法不屬於任何該類的對象,只屬於類本身
2類的靜態方法類似於全局函數,因爲靜態方法既沒有實例方法的self參數也沒有類方法的cls參數,誰都可以調用
3.實例方法只屬於實例,是實例化的對象才能調用
#coding:utf-8
class A(object):
    num=10
    def __init__(self,numb):
        self.numb=numb

    def print2(self):
        print self.num

    @classmethod
    def print1(cls,numb):
        print cls.num
     #   cls(numb).print2()
     #   cls(numb).print3(numb)
    @classmethod
    def print4(self):
        print self.num


    @staticmethod
    def print3(numb):
        print numb

#print getattr(A,'num')
#A.print1('s')
print '---------'
#A.print4()

A.print1('s')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章