Pass same parameter in Recursive function
Chris Rebert
clp at rebertia.com
Tue Sep 2 23:57:52 EDT 2008
Assuming the function is tail-recursive or the "unchanging" arguments
are immutable, just use a closure:
def func(self, x, y, A, B, C):
def _func(x,y):
return _func(g(A,B,C,x), h(A,B,C,y)) #recurse
return _func(x, y)
I'm unsure as to the performance impact of this though.
- Chris
On Tue, Sep 2, 2008 at 8:20 PM, Davy <zhushenli at gmail.com> wrote:
> Hi all,
>
> Sometimes I need to pass same parameter in recursive function. From my
> point of view, the style is redundant, and I don't what to use some
> global style like self.A, self.B, Is there any other choice?
>
> For example,
>
> def func(self, x, y, A, B, C):
> #x, y change in recursive call
> #A, B, C change in the first layer function call, but did not change
> in recursive call
> if (...):
> func(x, y, A, B, C)
> else(...):
> func(x, y, A, B, C)
>
> Best regards,
> Davy
> --
> http://mail.python.org/mailman/listinfo/python-list
>
--
Follow the path of the Iguana...
http://rebertia.com
More information about the Python-list
mailing list