Bruno Desthuilliers a écrit : > Xavier Décoret a écrit : > (snip) > >> What I wanted to do is something like this: >> >> def change(x,v): >> x = v >> >> class A(object): >> def __init__(self,v): >> self.x = v >> >> a = A(3) >> print a.x # displays 3 >> change(a.x,4) >> print a.x # still displays 3 >> >> >> It may seem weird, > > > It does > >> but I ensure there is a reason for doing this. > > > I really wonder what it can be ???
It's the ability to develop the equivalent of GeoNext (and much more) in Python with a very nice syntax. > > You could achieve the same effect with: > > class A( object): > def __init__(self, value): > self.value = value > > a = A(3) > a.value = 4 > a.value > => 4 > Of course, and even simpler ;-) print "4" More seriously, try to do this with your simpler approach. a = A(4) b = A(lambda : a.x+5) a.x = 2 print b.x # I want this to be 7, not 9 > And it's *much* more simple/readable/efficient. > > Ever googled for "evolution of a programmer" ?-) > > Not to brag, but I think I know what programming is. Google for my name. C'est bien un commentaire de francais ca ;-) -- http://mail.python.org/mailman/listinfo/python-list