NevilleDNZ wrote: > I inserted x1,x2 into A to force a wider scope and it works. > > #!/usr/bin/env python > def A(): > print "begin A:" > A.x1=123; > A.x2=456; > def B(): > print "begin B:",A.x1,A.x2 > A.x2 = A.x2 + 210; # problem gone. > print "end B:",A.x1,A.x2 > print "pre B:",A.x1,A.x2 > B() > print "end A:",A.x1,A.x2 > A() > > $ ./z1z2.py > begin A: > pre B: 123 456 > begin B: 123 456 > end B: 123 666 > end A: 123 666 > > $ python -V > Python 2.5b3 > > I checked: This method even handles recursion giving a new instance of > A.x2 each call. > Is this the official way to scope/inherit scopes in sub procs? > No. It's too horrible to contemplate without getting mild feelings of nausea. What exactly is it you are tring to achieve here (since I assume your goal wasn't to make me feel sick :-)?
regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list