靜態方法和類成員方法

2021-08-31 23:19:16 字數 740 閱讀 3034

靜態方法和類成員方法分別在建立時分別被裝入staticmethod型別和classmethod型別

的物件中。

靜態方法的定義沒有self引數,且能夠被類本身直接呼叫。

類方法的定義時需要名為cls的類似於self的引數,類成員方法可以直接用類的具體物件

呼叫。但cls引數是自動被繫結到類的。

__metaclass__ = type

class myclass:

def smeth():

print 'this is a static method'

smeth = staticmethod(smeth)

def cmeth(cls):

print 'this is a class method of', cls

cmeth = classmethod(cmeth)

裝飾器:

__metaclass__ = type

class myclass:

@staticmethod

def smeth():

print 'this is a static method'

@classmethod

def cmeth(cls):

print 'this is a class method of', cls

靜態成員 靜態方法 靜態類

1.靜態成員屬於類所有,非靜態成員屬於類的例項所有,即使用靜態成員不需要例項化 using system using system.collections.generic using system.linq using system.text namespace mystatic public cl...

靜態類 靜態方法 靜態成員和例項成員的比較

任何專案中都會使用到靜態類 靜態方法 靜態成員和例項成員了。那麼這幾個名詞到底有哪些區別呢?所以例項成員的存在必須要有物件例項的存在,如果物件例項都不存在了,那麼就將無法訪問 而靜態成員只是依賴於類的存在與否,也就無需宣告和例項化物件了。如下方這段示例 class program class mys...

C C 中類常成員方法和類靜態方法

例如 class ctest private int pri 使用 表明該方法不能對類中資料成員進行修改 用處 如例子中給出,一般只用來return乙個類中私有變數,為了其他類中例項化該類物件,從而呼叫常方法來間接訪問私有變數。因為其他類中不能訪問該類私有變數。注意 const需要放在函式名後面,不...