On Sun, Apr 12, 2015 at 1:00 AM, <jonas.thornv...@gmail.com> wrote: > If two functions crossreference eachother back and forth what happen with the > local variables. > > Will there be a new instance of function holding the variables or do they get > messed up?
You mean if one function calls another, and that function calls the first? That's called "mutual recursion": def func1(x): if x % 2: return x + 1 return func2(x - 2) def func2(x): if x % 3: return x + 2 return func1(x - 3) The 'x' inside each function is completely separate, no matter how many times they get called. They're usually stored on something called a "call stack" - you put another sheet of paper on top of the stack every time you call a function, local variables are all written on that paper, and when you return from a function, you discard the top sheet and see what's underneath. For more information, search the web for the key terms in the above description, particularly the ones I put in quotes. If this isn't what you're talking about, the best way to clarify your question is probably to post a simple (even stupidly trivial, like the one above) example, and ask a question about that code. Someone'll doubtless help out! ChrisA -- https://mail.python.org/mailman/listinfo/python-list