OVH Cloud OVH Cloud

Application partielle

2 réponses
Avatar
nico
Bonjour,

Existe t-il une forme d'application en python (comme en caml par exemple) ?

On peut par exemple faire ca :

>>> def f1(a):
... def tmp(b):
... return a+b
... return tmp
...
>>> g=f1(5)
>>> g(6)
11

ou plus court :


>>> def f2(a):
... return lambda b:a+b
...
>>> h = f2(5)
>>> h(6)
11
>>> f2(5)(5)
10

mais je prefererai qqch comme :

>>> def f3(a, b):
... return a+b
...
>>> g = f3(5)
#devrait renvoyer une fonction (lambda b:5+b)
>>> g(6)
#devrait renvoyer 11

Merci

--
nico

2 réponses

Avatar
tiissa
nico wrote:
mais je prefererai qqch comme :


def f3(a, b):




... return a+b
...

g = f3(5)




#devrait renvoyer une fonction (lambda b:5+b)

g(6)




#devrait renvoyer 11


On peut écrire :

def f4(a, b=None):
if b == None:
return lambda b: f4(a, b)
return a+b


Mais à ma connaissance il n'y a pas d'application partielle.




Avatar
nico
Salut,

def f4(a, b=None):
if b == None:
return lambda b: f4(a, b)
return a+b


Mais à ma connaissance il n'y a pas d'application partielle.


Ok merci.

--
nico