擅长:python、mysql、java
<p><code>lambda</code>表达式是创建函数的一种非常有限的方法,不能有多行/表达式(每个<a href="https://docs.python.org/2/tutorial/controlflow.html#lambda-expressions" rel="nofollow noreferrer">the tutorial</a>,<em>“它们在语法上限制为一个表达式”</em>)。但是,您可以嵌套标准函数<code>def</code>初始化:</p>
<pre><code>def getFunction(params):
def to_return(x):
# do stuff with params and x
return to_return
</code></pre>
<p>函数是Python中的一类对象,因此一旦定义了函数,就可以像使用<code>lambda</code>创建的函数一样传递<code>to_return</code>,并且可以通过任何方式访问“闭包”变量(参见<a href="https://stackoverflow.com/q/4020419/3001761">Why aren't python nested functions called closures?</a>)。在</p>