python的类方法和静态方法

本文实例讲述了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程序设计有所帮助。

Posted in 未分类

发表评论