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

2021-08-24 20:22:45 字數 971 閱讀 3145

一、python 類語法中有三種方法,例項方法,靜態方法,類方法

python中self,cls的區別:

普通例項方法,第乙個引數需要是self,它表示乙個具體的例項本身。

如果用了staticmethod,那麼就可以無視這個self,而將這個方法當成乙個普通的函式使用。

而對於classmethod,它的第乙個引數不是self,是cls,它表示這個類本身。

例項方法只能被例項物件呼叫,靜態方法(由@staticmethod裝飾的方法)、類方法(由@classmethod裝飾的方法),可以被類或類的例項物件呼叫。

例項方法,第乙個引數必須要預設傳例項物件,一般習慣用self。

靜態方法,引數沒有要求。

類方法,第乙個引數必須要預設傳類,一般習慣用cls。

# coding:utf-8

class foo(object):

"""類三種方法語法形式"""

def instance_method(self):

print("是類{}的例項方法,只能被例項物件呼叫".format(foo))

@staticmethod

def static_method():

print("是靜態方法")

@classmethod

def class_method(cls):

print("是類方法")

foo = foo()

foo.instance_method()

foo.static_method()

foo.class_method()

print('----------------')

foo.static_method()

foo.class_method()

**:

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

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

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

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

靜態方法和例項方法

靜態方法 靜態方法是不屬於特定物件的方法,靜態方法可以訪問靜態成員變數,靜態方法不可以直接訪問例項變數,可以在例項函式呼叫的情況下,例項變數做為引數傳給靜態方法。靜態方法也不能直接呼叫例項方法,可以間接呼叫,首先要建立乙個類的例項,然後通過這一特定物件來呼叫靜態方法。例項方法 乙個例項方法的執行與特...