静态方法和类方法 Python从入门到放弃

python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马?python

python中实现静态方法和类方法都是依赖于python的修饰器来实现的。.net

代码以下:对象

class MyClass: 
 
    def  method(self): 
           print("method") 
 
    @staticmethod 
    def  staticMethod(): 
            print("static method") 
 
     @classmethod 
     def classMethod(cls): 
           print("class method")get

你们注意到普通的对象方法、类方法和静态方法的去别了吗?
对象方法有self参数,类方法有cls参数,静态方法是不须要这些附加参数的。
在C++中是没有类方法着个概念的的class

代码以下:
class A(object):
    "This ia A Class"object

    @staticmethod
    def Foo1():
        print("Call static method foo1()\n")方法

    @classmethod
    def Foo2(cls):
        print("Call class method foo2()")
        print("cls.__name__ is ",cls.__name__)static

A.Foo1();
A.Foo2();语言

结果是:
Call static method foo1()ssm

Call class method foo2() cls.__name__ is  A

相关文章
相关标签/搜索