python的类方法和静态方法
python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马?
python中实现静态方法和类方法都是依赖于python的修饰器来实现的。
代码如下:
class MyClass:
def method(self):
print("method")
@staticmethod
def staticMethod():
print("static method")
@classmethod
def classMethod(cls):
print("class method")
大家注意到普通的对象方法、类方法和静态方法的去别了吗?
对象方法有self参数,类方法有cls参数,静态方法是不需要这些附加参数的。
在C++中是没有类方法着个概念的的
代码如下:
class A(object):
"This ia A Class"
@staticmethod
def Foo1():
print("Call static method foo1()\n")
@classmethod
def Foo2(cls):
print("Call class method foo2()")
print("cls.__name__ is ",cls.__name__)
A.Foo1();
A.Foo2();
结果是:
Call static method foo1()
Call class method foo2()
cls.__name__ is A
希望本文所述对大家的Python程序设计有所帮助。