擅长:python、mysql、java
<p>不,python将位置参数应用于所有命名参数,<em>first</em>;<code>h</code>是函数签名中的第三个位置参数,因此,<code>*params</code>只捕获参数位置4及以上。在</p>
<p>相反,请使用一个<code>**kwargs</code>参数来捕获任意关键字参数,并在<code>h</code>中查找:</p>
<pre><code>def deriv(f, x, *params, **kwargs):
h = kwargs.pop('h', 1.e-9)
</code></pre>
<p>现在在调用<code>deriv</code>时,必须显式地命名<code>h</code>:</p>
^{pr2}$