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++中是没有类方法着个概念的的

-------------------

 

coding:utf-8
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();

 

结果是:
Python code
Call static method foo1()

Call class method foo2()
cls.__name__ is  A


 

转载于:https://www.cnblogs.com/kungfupanda/archive/2012/09/11/2680566.html

评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页