python的类方法和静态方法
本文实例讲述了python的类方法和静态方法。分享给大家供大家参考。具体分析如下:
python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马?
python中实现静态方法和类方法都是依赖于python的修饰器来实现的。
classMyClass: def method(self): print("method") @staticmethod def staticMethod(): print("staticmethod") @classmethod defclassMethod(cls): print("classmethod")
大家注意到普通的对象方法、类方法和静态方法的去别了吗?
对象方法有self参数,类方法有cls参数,静态方法是不需要这些附加参数的。
在C++中是没有类方法着个概念的的
classA(object): "ThisiaAClass"
@staticmethod defFoo1(): print("Callstaticmethodfoo1()\n")
@classmethod defFoo2(cls): print("Callclassmethodfoo2()") print("cls.__name__is",cls.__name__)
A.Foo1(); A.Foo2();