本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:Python中如何获取类属性的列表浅谈python类属性的访问、设置和删除方法Python类属性与实例属性用法分析对python 调用类属性的方法详解Python 类属性与实例属性,类对象与实例对象用法分析python中的实例方法、静态方法、类方法、类变量和实例变量浅析浅谈python中的实例方法、类方法和静态方法Python实例方法、类方法、静态方法的区别与作用详解Python面向对象之静态属性、类方法与静态方法分析Python 面向对象之封装、继承、多态操作实例分析Python面向对象之继承和多态用法分析python面向对象之类属性和类方法案例分析