Class Testclassmethod (Object): method = ' method HoHo ' def __init__ (self): self.name = ' Leon ' def test1 (self): print ' test1 ' print self @classmethod def test2 (CLS): print CLS print ' Test2 ' print testclassmethod.method print '----------------' @staticmethod def test3 (): print Testclassmethod.method print ' test3 ' if __name__ = = ' __main__ ': a = Testclassmethod () a.test1 () A.test2 () a.test3 () testclassmethod.test3 ()
Test1 as an instance method
Test2 is a class method, the first argument is the class itself
Test3 is a static method and can not receive parameters
Class methods and static methods can access static variables (class variables) of a class, but cannot access instance variables, Test2, test3 cannot access self.name, and test1 can
Program Run Result:
The difference between a static method and a class method in Python "Go"