靜態方法和類方法 Python從入門到放棄

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

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

代碼以下:對象

class MyClass: 
 
    def  method(self): 
           print("method") 
 
    @staticmethod 
    def  staticMethod(): 
            print("static method") 
 
     @classmethod 
     def classMethod(cls): 
           print("class method")get

你們注意到普通的對象方法、類方法和靜態方法的去別了嗎?
對象方法有self參數,類方法有cls參數,靜態方法是不須要這些附加參數的。
在C++中是沒有類方法着個概念的的class

代碼以下:
class A(object):
    "This ia A Class"object

    @staticmethod
    def Foo1():
        print("Call static method foo1()\n")方法

    @classmethod
    def Foo2(cls):
        print("Call class method foo2()")
        print("cls.__name__ is ",cls.__name__)static

A.Foo1();
A.Foo2();語言

結果是:
Call static method foo1()ssm

Call class method foo2() cls.__name__ is  A

相關文章
相關標籤/搜索