On Apr 1, 7:43 pm, Michael Hoffman <[EMAIL PROTECTED]> wrote: > asdf1234234 wrote: > > -a.py- > > import b > > > class A: > > def __init__(self): > > pass > > def my_method(self): > > var = 1 > > self.var = 2 > > b.set_var(self) > > print var > > print self.var > > > my_a = A() > > my_a.my_method() > > > -b.py- > > def set_var(self): > > var = 2 > > self.var = 2 > > > I want both var and self.var to be 2 at the end. Is there anything I > > can pass to set_var() that will give it access to the variables in > > my_method() like I can use self for the variables in the class A? > > I hope there isn't a way to do this that simply. :) Why do you want to > do this, or is it idle curiosity? There is almost surely a better way to > solve your underlying problem. > > You can *read* your caller's local variables (either pass locals() as an > argument or use inspect to get the frame locals), but writing to this > dictionary has undefined behavior. > -- > Michael Hoffman
class A(object): def early_parse(self): self.result1 = eval("10+5") def later_parse(A_obj): A_obj.result2 = eval("20*2") a = A() a.early_parse() later_parse(a) print a.result1 print a.result2 -- http://mail.python.org/mailman/listinfo/python-list