p1 = property(lambda self: self.__x)

class Foo (object):
    p1 = p1
    p2 = property(lambda self: self.__x)

    def __init__(self):
        self.__x = 10

f = Foo()

print f.p2
print f.p1

#-------------------------------------------------------

Expecting to see:

10
10

?
Think again!

Ouch, just got bit.
But I guess the name mangling has to occur at compile (to bytecode) time?

Cheers,
Brian Hawthorne
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to