2016-05-06 11 views

risposta

5

Questo è ciò che functools.partial avrebbe aiutato con:

from functools import partial 

foo2 = partial(foo, my_string="my_string_example") 

Demo:

>>> from functools import partial 
>>> def foo(my_num, my_string): 
...  print(my_num, my_string) 
... 
>>> foo2 = partial(foo, my_string="my_string_example") 
>>> foo2(10) 
(10, 'my_string_example') 
>>> foo2(30) 
(30, 'my_string_example') 
+0

Esattamente quello di cui avevo bisogno. Grazie! –

0

Questo dovrebbe farlo:

>>> def foo(a, b): 
... return a+b 
... 
>>> def makefoo2(a): 
... def f(b): 
...  return foo(a,b) 
... return f 
... 
>>> foo2 = makefoo2(3) 
>>> foo2(1) 
4 

Ovviamente è possibile variare la definizione di foo a piacere .

Problemi correlati