On May 14, 12:21 pm, vbgunz <[EMAIL PROTECTED]> wrote: > Other than the 2 reasons above (2 making more sense), what is a really > good reason to pull out the class method. In other words, when you see > one, what is the first thing that comes to mind? When you write one, > what was the first thing on your mind? Other than "similar to static- > methods", at what point will you be glad you used one? To sum it up, > what is the best role for a class-method that does not turn your work > into code-soup?
When classmethods are inherited, they are called with the class it was invoked with, rather than the class they were defined in. Try this example: class A(object): @classmethod def classname(cls): print cls.__name__ @staticmethod def staticname(): print "A" class B(A): pass B.staticname() B.classname() Carl Banks -- http://mail.python.org/mailman/listinfo/python-list