kernel1983 wrote:

In Function Program?Language can use like this:

define a function:

f = lambda x,y:x,y

then we use f to define another function:

f2 = f(1)

the f2 should equal to:

f2=lambda y:1,y

we should be able call f2 with one parameter:f2(2)

just return 1,2

but how can I implement the characteristic in Python??I think it could

do like this but HOW-TO?

If you are using python 2.5, then you can use functools.partial, otherwise

lookup one of the many curry implementations, like the ones found in

http://aspn.activestate.com/ASPN/Coo...n/Recipe/52549
One found in the comments of that page by Scott David Daniels:

def curry(*args, **kwargs):

function, args = args[0], args[1:]

def result(*rest, **kwrest):

combined = kwargs.copy()

combined.update(kwrest)

return function(*args + rest, **combined)

return result

so, in your case:

f = lambda x,y: (x,y)

f2 = functools.partial(f,1)

>>f2(3)

1,3