参考资料
静态方法和类成员方法分别在创建时被装入StaticMethod类型和Classmethod类型的对象中;静态方法的定义没有self参数,且能够被类本身直接调用;类方法在定义时需要名为cls的类似于self的参数,类成员方法可以被类的实例调用,而cls参数是自动被绑定到类的。
简单示例:
>>> Something.smethod()
smethod
>>> Something.cmethod()
<class '__main__.Something'>
上述,采用的是手动封装和替换的方法;
Python2.4以后,可以使用装饰器(decorators)的新语法:
>>> Something.smethod()
smethod
>>> Something.cmethod()
<class '__main__.Something'>
静态方法和类成员方法在Python中并不是向来都很重要,主要的原因是大部分情况下可以使用函数或者绑定方法代替;