__getattr__ on non-instantiated class

Larry Bates larry.bates at websafe.com
Wed May 3 12:06:17 EDT 2006


Fredp wrote:
> Hi
> I was wondering if it is possible to have the various magic methods,
> mainly __getattr__ and __setattr__, and @property attributes called
> when accessing the attribute of a non-intantiated class.
> 
> Imagin something like this:
> #####
> class MyClass:
>      @property
>      def prop(self):
>            print "Accessed"
>            return "ABCD"
> 
> print MyClass.prop
> #####
> having it printing:
> #####
> Accessed
> ABCD
> #####
> 
> Thanks very much
> 
Looks like you want Python to execute a method on an uninstantiated
class.  I can't imagine how you would use such a thing.  Can you
give us a real-life "use case"?

This produces the output you want:

m=MyClass()
print m.prop()

-Larry Bates



More information about the Python-list mailing list