擅长:python、mysql、java
<p>如果您至少有Python2.6(我猜是这样的,因为您在函数位置使用print),那么可以使用<code>functools.partial</code>。它接受要提供的函数和任何参数,并返回一个可调用函数,该函数将调用基础函数并添加传递给最终调用的任何参数。例如:</p>
<pre><code>>>> from functools import partial
>>> def add(x,y): return x+y
>>> add2 = partial(add,2)
>>> add3 = partial(add,3)
>>> add2(3)
5
>>> add3(5)
8
</code></pre>
<p>你的例子可以这样做</p>
^{pr2}$
<p>如果没有2.6,则可以将部分实现为:</p>
<pre><code>def partial(fun, *args, **kwargs):
def merge(d1,d2):
r = dict(d1)
r.update(d2)
return r
return lambda *a,**kw: fun(*(args+a),**(merge(kwargs,kw)))
</code></pre>