Why there is a parameter named "self" for classmethod function?
Bruno Desthuilliers
bruno.42.desthuilliers at websiteburo.invalid
Mon May 11 09:12:12 EDT 2009
Terry Reedy a écrit :
> Kurt Symanzik wrote:
>
>>
>> But you might consider decorating the method as a static method
>> instead since in your example you are not using the parameter at all.
>> A static method would not require a parameter.
>>
>> @staticmethod
>> def print_hello():
>> print "hello"
>
> Functions that refer to neither the class nor an instance thereof can
> usually be moved outside the class altogether. Python is not Java.
Indeed. But there are a couple uses for staticmethods - one of them
being polymorphic dispatch on the receiver object. And yes, I know,
modules are objects too, but this is not always an option (legacy code,
integration with a framework etc).
More information about the Python-list
mailing list