擅长:python、mysql、java
<p>Python支持在运行时使用一个名为<a href="http://www.secnetix.de/olli/Python/lambda_functions.hawk" rel="nofollow noreferrer">lambda</a>的构造创建匿名函数(即不绑定到名称的函数)。在您的示例中,<code>fitfunc</code>和{<cd2>}是两个这样的lambda函数。在</p>
<p>我相信<code>calculate_sp2</code>和{<cd4>}只是代码中的两个函数,但您没有在示例中提供它们的代码。因此,简而言之,<code>fitfunc</code>实际上使用3个参数<code>(p, p0, mz)</code>调用<code>calculate_sp2</code>函数,并返回由<code>calculate_sp2</code>返回的值。<code>errfunc</code>也以同样的方式工作。在</p>
<p>正如<a href="https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.optimize.leastsq.html" rel="nofollow noreferrer">scipy.optimize.leastsq</a>的官方文档中所提到的,<code>leastsq()</code>最小化了一组方程的平方和。您可以从官方文档中了解<code>leastsq()</code>的参数。在</p>
<hr/>
<p>我用一个简单的例子来说明lambda函数是如何工作的。在</p>
<pre><code>def add(x,y):
return x + y
def subtract(x,y):
return x-y if x > y else y-x
def main(x,y):
addition = lambda x,y: add(x,y)
subtraction = lambda x,y: subtract(x,y)
return addition(x,y) * subtraction(x,y)
print(main(7,4)) # prints 33 which is equal to (7+4)*(7-4)
</code></pre>