<div dir="ltr"><span style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px">to begin with: i a deep python fun</span><div style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px">i want to suguest python a feature to support Fuctional Program :,here is the toy code  i need a more powerful decrote in moudle functools instead of functools.partial,thanks do you think it is a nice idea?</div><div style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px">waitting for your reply</div><div style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px"><div><img>def minpara(func_1,args):</div><div>     num=0</div><div>     try:</div><div>         func_1(*args)</div><div>     except Exception as error:</div><div>         num,given=re.findall(r'\d+',str(error))[:2]</div><div>     if num:</div><div>        #return int(num),int(given)</div><div>         return (num,given)</div><div>     else:</div><div>         #return func(*args)</div><div>         return (0,0)</div><div><br></div><div>def curried(func):</div><div>    #@wraps(func)</div><div>    def new_func(*args):</div><div>        num,given=minpara(func,args)</div><div>        #print num,given</div><div>        if (num,given)==(0,0):</div><div>            return func(*args)</div><div>        else:</div><div>            return curried(functools.partial(func,*args))</div><div>    return new_func</div><div>@curried   </div><div>def sun_1(a,b,c):</div><div>    return a+b+c</div><div>@curried</div><div>def sun_2(a,b,c):</div><div>     return a*b*c</div><div>if __name__=="__main__":</div><div>    print sun_2(1,)(2)(44)</div><div>    print sun_1(1,)(2)(44)</div><div>    print sun_2(1,2)(23)</div></div></div>