python定義靜態方法

2021-07-02 12:33:39 字數 583 閱讀 4994

python沒有和c++中static關鍵字,它的靜態方法是怎樣的呢?還有其它語言中少有的類方法又是神馬?

python中實現靜態方法和類方法都是依賴於python的修飾器來實現的。

[python]view plain

copy

print?

class

myclass:  

defmethod(

self

):  

print

("method"

)  @staticmethod

defstaticmethod():  

print

("static method"

)  @classmethod

defclassmethod(

cls):  

print

("class method"

)  

大家注意到普通的物件方法、類方法和靜態方法的去別了嗎?

物件方法有self引數,類方法有cls引數,靜態方法是不需要這些附加引數的。

在c++中是沒有類方法著個概念的的。

python 靜態方法

靜態方法 staticmethod 類方法 classmethod 可被類或類的例項物件呼叫。class 中的方法 例項方法,第乙個引數必須要預設傳例項物件,一般習慣用self。靜態方法,引數沒有要求。類方法,第乙個引數必須要預設傳類,一般習慣用cls。感覺唯一區別就是類方法第乙個引數預設是類本身,...

Python 類方法 靜態方法

1 我們已經討論了類 物件可以擁有像函式一樣的方法,這些物件方法與函式的區別只是乙個額外的self變數 coding utf 8 usr bin python filename method.py class person grade 1 def init self,name self.name n...

Python 靜態方法 類方法

一 靜態方法 乙個不能訪問例項變數和類變數的方法,它與類唯一的關聯就是需要通過類名來呼叫這個方法。class person object def init self,name self.name name def eat self print s is eating self.name static...