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