python中的類 3 類方法 靜態方法

2022-09-09 18:48:15 字數 1378 閱讀 7937

python中的類方法與靜態方法

面相物件程式設計中,類方法和靜態方法是經常用到的兩個術語。

邏輯上講:類方法是只能由類名呼叫;靜態方法可以由類名或物件名進行呼叫。

類方法:

在python中.類方法 @classmethod 是乙個函式修飾符,它表示接下來的是乙個類方法,而對於平常我們見到的則叫做例項方法。

類方法的第乙個引數cls,而例項方法的第乙個引數是self,表示該類的乙個例項。

class

test():

def__init__

(self,name):

self.a =name

@classmethod #類方法的裝飾器,用於修飾這個方法

def func(cls):#

cls 代表的是class

print('

這是乙個類方法')

if__name__ == '

__main__':

test.func()

#類呼叫

a = test("小王"

) a.func()

#類的例項進行呼叫

注意 :a, 類方法不僅可以通過例項化物件呼叫還可以通過類名稱直接呼叫

b, 不能呼叫建構函式(例項方法)中的屬性變數

c,可以呼叫類變數

靜態方法:

靜態方法是類中的函式,不需要例項。靜態方法主要是用來存放邏輯性的**,主要是一些邏輯屬於類,但是和類本身沒有互動,

即在靜態方法中,不會涉及到類中的方法和屬性的操作。

class

test():

def__init__

(self,name):

self.a =name

@staticmethod

#裝飾器,表示他是乙個靜態方法

deffunc():

print("

這是乙個靜態方法")

if__name__ == '

__main__':

test.func()

#類呼叫

a = test("小王"

) a.func()

#類的例項進行呼叫

注意:

a,靜態方法中沒有預設的形

b,靜態方法需要通過裝飾@staticmethod修飾

c, 靜態方法不僅可以通過例項化物件呼叫還可以通過類名稱直接呼叫

d,不能呼叫建構函式(例項方法)中的屬性變數

e, 不可以呼叫類變數

Python中類的私有方法,類方法,靜態方法等

方法 屬性的型別 方法表示 特點類方法 classmethod def 方法體 則這個方法一般是類的方法,即類.方法。一般不給例項化物件來使用。私有方法 def 方法名 在方法名的前面加 表示這是私有方法。所謂私有方法,就是只能由類本身來使用。其子類不能使用,例項化的物件也不能使用。保護方法 def...

python 類的靜態方法和類方法

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

Python中類方法和靜態方法

要在類中使用靜態方法,需在靜態方法前面加上 staticmethod標記符,以表示下面的成員函式是靜態函式。使用靜態方法的好處 其函式不需要self引數,可以通過類呼叫該方法,不需要定義該類例項 當然通過類例項呼叫也沒有問題 類方法可以通過類或它的例項來呼叫,但 該方法的 第乙個引數cls是定義該方...