class testclassmethod(object):test1為例項方法method = 'method hoho'
def __init__(self):
self.name = 'leon'
def test1(self):
print 'test1'
print self
@classmethod
def test2(cls):
print cls
print 'test2'
print testclassmethod.method
print '----------------'
@staticmethod
def test3():
print testclassmethod.method
print 'test3'
if __name__ == '__main__':
a = testclassmethod()
a.test1()
a.test2()
a.test3()
testclassmethod.test3()
test2為類方法,第乙個引數為類本身
test3為靜態方法,可以不接收引數
類方法和靜態方法皆可以訪問類的靜態變數(類變數),但不能訪問例項變數,test2、test3是不能訪問self.name的,而test1則可以
程式執行結果:
例項方法 類方法和靜態方法
1 例項方法,即需要通過建立例項 物件 進行呼叫的方法。下方即為例項方法的例子 class person object def init self self.name zs self.age 10 p person print p.name,p.age 2 類方法,即在定義方法時使用 classme...
類方法 例項方法和靜態方法
例項方法 類方法 靜態方法三種方法在記憶體中都屬於類,區別在於呼叫方式不同 例項方法 定義 第乙個引數必須是例項物件,該引數名一般約定為 self 通過它來傳遞例項的屬性和方法 也可以傳類的屬性和方法 呼叫 只能由例項物件呼叫。例項物件可以呼叫例項方法 類方法和靜態方法類方法 定義 使用裝飾器 cl...
類方法 例項方法和靜態方法
objective c中非常重要的語法知識,在此歸納總結一下。類方法,也稱靜態方法,指的是用static關鍵字修飾的方法 此方法屬類本身的方法,不屬於類的某乙個例項 物件 類方法中不可直接使用例項變數。其呼叫方式有三種 可直接呼叫 類名.方法名 物件名.方法名。例項方法指的是不用static關鍵字修...