Generarl programming question.
jonas.thornvall at gmail.com
jonas.thornvall at gmail.com
Sat Apr 11 11:22:44 EDT 2015
Den lördag 11 april 2015 kl. 17:16:09 UTC+2 skrev Chris Angelico:
> On Sun, Apr 12, 2015 at 1:00 AM, <jonas.thornvall at 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
Thanks i was worried, i try to make a generic base choice algorithm that should work for anybase, and i just realised that the bignumb add would need to call the bignumb subtraction and viceversa. I thought there may be instances but i was not sure.
But I have a feeling the code will be hard to debug.
More information about the Python-list
mailing list