在java或者c#中都有靜態類的概念,在python中有沒有呢?
java
答案是No,python中不存在靜態類,在類中的方法第一個參數必須是self。仔細一想其實python根本就沒有必要有靜態類,py文件中直接寫方法就是靜態類了。
python
以上說法是錯誤的,python中存在靜態類,並有staticmethod和classmethod的區分。但不知道這二者之間有什麼區別:c#
以下示例代碼:code
class Foo: @staticmethod def bar_staticmethod(): print 'I am bar' @classmethod def bar_classmethod(cls): print 'I am bar with ' ,cls Foo.bar_staticmethod() Foo.bar_classmethod()