擅长:python、mysql、java
<p>只需使用<a href="http://docs.python.org/2/library/functools.html#functools.partial" rel="noreferrer">functools.partial</a></p>
<pre><code> multiplyNumbers = functools.partial(multiplyNumbers, y = 42)
</code></pre>
<p>这里有一个问题:您不能将其称为<code>multiplyNumbers(5, 7, 9);</code>您应该手动地说<code>y=7</code></p>
<p>如果需要删除默认参数,我认为有两种方法:</p>
<ol>
<li><p>将原始函数存储在某处</p>
<pre><code>oldF = f
f = functools.partial(f, y = 42)
//work with changed f
f = oldF //restore
</code></pre></li>
<li><p>使用<code>partial.func</code></p>
<pre><code>f = f.func //go to previous version.
</code></pre></li>
</ol>