擅长:python、mysql、java
<p><code>lambda</code>几乎是另一个函数。要使用它,你也得叫它。在</p>
<p>将实际lambda返回给<code>f</code>,而不是整个函数<code>f1</code>。同时,当你归还lambda时,它不会被调用。这就是为什么当您调用<code>f(1)</code>和<code>f(3)</code>时,它实际上并没有运行<code>f1</code>,而只运行lambda。在</p>
<p>还记得我说过lambdas就像函数吗?那么<code>x</code>是一个参数,而<code>n</code>是您在<code>f1</code>中定义的局部变量{<cd8>}。在</p>
<p><code>f(5) != 15</code>因为您实际上没有在任何地方使用<code>f1(10)</code>。你只是印出来的。如果你做了<code>f = f(10)</code>,那么它就是<code>15</code>。在</p>
<p><code>print f1(10)</code>打印lambda函数(因为这是返回的函数)。它不叫它,只是打印出来。在</p>