1. 程式人生 > >python 中staticmethod和classmethod

python 中staticmethod和classmethod


靜態方法:

  靜態方法和C++及java等語言中的是一樣的,它可以通過類或類的例項來對其進行呼叫,而不需要傳入任何隱式的引數。類似於一個全域性引數。

class Teststaticmethod:
    def foo():
        foo=staticmethod(foo)

類方法:

  類方法需要一個類而不是例項作為第一個引數,它是由直譯器傳給的方法。通常的方法都是需要一個例項作為第一個引數,比如傳入一個self例項。類不需要特殊的命名,類似於self,更多人喜歡用cls作為變數名。

class Testclassmethod:
    def foo(cls):
          foo=classmethod(foo)