[Tutor] Class Attribute "Overloading?"
Alan Gauld
alan.gauld at btinternet.com
Wed Aug 15 20:28:27 CEST 2007
"Vincent Gulinao" <vincent.gulinao at gmail.com> wrote
> Is there any way a reference to a class attribute
> ([class].[attribute]) be
> treated like a method ([class].[method]())?
Yes, classes are just objects and their attributes are too.
class Test: pass
def f(self): print 'howdy!'
Test.foo = f
t = Test() # creae an instance
t.foo() # access the class method
Creating actual class methods at runtime and calling them
via the class is something I haven't tried but it might be
possible...
Yep it works:
class Test: pass
Test.foo = staticmethod(lambda: 'hello')
Test.foo()
'hello'
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld
More information about the Tutor
mailing list