主要区别:
类实例方法调用必须用实例,
类方法调用可以用实例也可以用类名,
类静态方法调用必须用类名
类方法的作用是它可以把实例当参数,也可以把类当参数传进去
class TestClassMethod(object):
METHOD = 'method hoho'
def __init__(self):
self.name = 'leon'
def test1(self):
print 'test1'
print self
print '----------------'
@classmethod
def test2(cls):
print 'test2'
print cls
print TestClassMethod.METHOD
print '----------------'
@classmethod
def test3(cls,self):
print 'test3'
print cls
print 'self name is ',self.name
print '----------------'
@staticmethod
def test4():
print 'test4'
print TestClassMethod.METHOD
print '----------------'
if __name__ == '__main__':
a = TestClassMethod()
a.test1()
TestClassMethod.test2()
a.test3(a)
TestClassMethod.test4()