Python中類方法和靜態方法

2021-06-22 12:58:54 字數 839 閱讀 2313

要在類中使用靜態方法,需在靜態方法前面加上@staticmethod標記符,以表示下面的成員函式是靜態函式。

使用靜態方法的好處

:其函式不需要self引數,

可以通過類呼叫該方法,不需要定義該類例項(當然通過類例項呼叫也沒有問題)。

類方法可以通過類或它的例項來呼叫,但

該方法的

第乙個引數cls是定義該方法的類物件而

不是例項物件

#coding:utf-8

class a:

def function(self):

print "call nomal method"

@staticmethod #靜態方法

def function1():

print "call static method"

@classmethod #類方法

def function2(cls):

print "call class method"

print "cls.__name__ is ",cls.__name__

if __name__ == '__main__':

a = a() #類例項化

a.function() #呼叫類中普通方法

a.function1() #呼叫類中靜態方法

a.function2() #呼叫類中類方法

結果:

call nomal method

call static method

call class method

cls.__name__ is a

Python中的類方法和靜態方法

1.類方法 是類物件所擁有的方法,需要用修飾器 classmethod來標識其為類方法,對於類方法,第乙個引數必須是類物件,一般以cls作為第乙個引數 當然可以用其他名稱的變數作為其第乙個引數,但是大部分人都習慣以 cls 作為第乙個引數的名字,就最好用 cls 了 能夠通過例項物件和類物件去訪問。...

python中,類方法和靜態方法區別。

面相物件程式設計中,類方法和靜態方法是經常用到的兩個術語。邏輯上講 類方法是只能由類名呼叫 靜態方法可以由類名或物件名進行呼叫。在c 中,靜態方法與類方法邏輯上是等價的,只有乙個概念,不會混淆。而在python中,方法分為三類例項方法 類方法 靜態方法。如下 class test object de...

python中的類方法和靜態方法

python中至少有三種比較常見的方法型別,即例項方法,類方法 靜態方法。它們是如何定義的呢?如何呼叫的呢?它們又有何區別和作用呢?首先,這三種方法都定義在類中。例項方法 定義 第乙個引數必須是例項物件,該引數名一般約定為 self 通過它來傳遞例項的屬性和方法 也可以傳類的屬性和方法 呼叫 只能由...