Colin J. Williams wrote: > Andre Meyer wrote: >> Hi all >> >> I am trying to understand the magic of Python's class variables and >> tried the following code (see below). >> >> Just out of curiosity, I tried to define a property that provides >> access to a seemingly instancae variable which is in fact a class >> variable.
class Foo(object): _v = 5 @apply def v(): def fget(self): return Foo._v # other solution [1] : # return self.__class__._v def fset(self, val): Foo._v = val # other solution [1] : # self.__class__._v = val return property(**locals()) [1] Depends on how you want this to work when subclassing Foo... Gives : >>> f1 = Foo() >>> f2 = Foo() >>> f1.v 5 >>> f2.v 5 >>> f1.v = 42 >>> f1.v 42 >>> f2.v 42 >>> Foo._v 42 >>> >> All seems to work fine (case 4), but when a custom object is >> assigned, an instance variable is created instead of using theproerty >> (case 5). >> >> What goes wrong here? I'm afraid there are too much problems with indentation in the posted code to give any serious answer. (snip) -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list