1 在python中.类两种方法 @classmethod 是的的个函数修饰符,它认为 接上去的的的的个类两种方法,而而对普普通通朋友们的见面 的则叫做实例两种方法。 类两种方法的第的的个参数cls,而实例两种方法的第的的个参数是self,认为 该类的的的个实例。 2 普普通通对象两种方法换言之也需要增加的的个self参数,主要代表类对象实例 3 类两种方法有类变量cls传入,因而也需要增加以用cls做有一点有关的后续处理。因而有子类继承时,调用该类两种方法时,传入的类变量cls是子类,而非父类。 而对类两种方法,也需要增加以需要通过 类来调用,如同C.f(),有有一点比如C++中不静态两种方法, 也也需要增加以需要通过 类的的的个实例来调用,如同C().f(),现在C(),写成的的个直到它也就 类的的的个实例了。
#encoding=utf-8
class info(object):
@classmethod
def sayclassmethod(cls):
print 'say %s' % cls
def saymethod(self):
print 'say %s' % self
test = info()
test.saymethod()##实例调用两种方法
test.sayclassmethod()##实例调用类两种方法
info.saymethod(test)##类调用实例两种方法
info.sayclassmethod()##类调用类两种方法
朋友们对比运行下。