python 靜態方法和類方法

2021-08-21 20:06:01 字數 797 閱讀 8670

python 靜態方法和類方法

class testclassmethod(object):

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()

test1為例項方法

test2為類方法,第乙個引數為類本身

test3為靜態方法,可以不接收引數

類方法和靜態方法皆可以訪問類的靜態變數(類變數),但不能訪問例項變數,test2、test3是不能訪問self.name的,而test1則可以

程式執行結果:

python 靜態方法和類方法

python 類的靜態方法和類方法

1.靜態方法 使用 staticmethod修飾 不需要傳入引數,類和類的例項物件都可以呼叫 沒有引數的方法,如果未宣告靜態方法的話,例項物件呼叫將會出錯 1class a staticmethod 宣告靜態方法 def printa 無需引數 print a a.printa 類名直接呼叫 a a...

Python例項方法 靜態方法和類方法

和類屬性可細分為類屬性和例項屬性一樣,類中的方法也可以有更細緻的劃分,具體可分為類方法 例項方法和靜態方法,本節將詳細介紹這 3 種類方法的特點和用法。通常情況下,在類中定義的方法預設都是例項方法。前面章節中,我們已經定義了不只乙個例項方法。不僅如此,類的構造方法理論上也屬於例項方法,只不過它比較特...

python 類方法 靜態方法和例項方法

寫的時候感覺怪怪的,後面發現是類名首字母沒有大寫,不改了,請見諒 對python中的類來說,可以有類方法,靜態方法,例項方法三種方法。這三種方法裡面,例項方法應該是大家最熟悉的一種方法。其標誌就是方法的第乙個引數為self,通過類的例項來呼叫,呼叫時會預設將例項物件作為self引數傳入。當然也可以通...