I find myself having need of a class where the class scope is included in 
the scope of methods in the class. A simple example from Python 3.1:

x = "outside"

class Magic:
    x = "inside"
    def method(self):
        return x


I would like Magic().method() to return "inside" rather than "outside".

Now, I understand why this is not Python's usual behaviour, and I agree 
with those reasons -- this is NOT a complaint that Python's normal 
behaviour is to exclude the class namespace from the method's scope.

I also understand that the usual way of getting this would be to return 
self.x or self.__class__.x from method, instead of x. Again, normally I 
would do this.

But in this specific case I have reasons for wanting to avoid both of the 
normal behaviours. Do not judge me, please accept that I have a good 
reason for wanting this, or at least allow me to shoot myself in the foot 
this way *wink*. In Python 3, is there some way to get this unusual 
behaviour?



-- 
Steven
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to