Class Methods (as opposed to Instance Methods)
thomas at xs4all.nl
Sun Aug 22 21:13:19 CEST 1999
On Fri, Aug 20, 1999 at 01:45:53PM +0200, Olivier Deckmyn wrote:
> Instance methods are easy to use:
> But here is how I would like to use class Methods :
> print MyClass.myClassMethod(2)
> (Note that there is no MyClass().xxx but well MyClass.xxx)
> I don't find any way to do that :(
> I know it exists class attributes, but it does not fit my needs :(
Cant be done(*), class functions expect a class instance as first argument at
all times. You can fake it by giving an unused instance (print
MyClass.myClassMethod(MyClass(),2) or by not using a class at all, but a
module (thus creating a seperate namespace)
But in general it's best just to avoid using class methods and use either
general methods, module methods (if you aren't writing a module, it's worth
considering to make it a module after all ;-) or just instance methods.
Instance methods dont really have to _use_ the 1st argument (usually 'self')
they're called with.
(*) As far as I know. I've been proven wrong before.
Thomas Wouters <thomas at xs4all.net>
Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
More information about the Python-list