擅长:python、mysql、java
<pre><code>chocolate = cake()
</code></pre>
<p>这将标识符<code>chocolate</code>绑定到通过调用<code>cake</code>返回的对象—它返回一个函数对象—因此,chocolate绑定到该函数对象(<code>chocolate</code>绑定到函数对象<code>pie</code>)。
调用<code>cake</code>的副作用是打印“甜菜”。你知道吗</p>
<pre><code>cake()()
</code></pre>
<p>这将调用<code>cake</code>,返回一个函数对象。这次函数对象没有绑定到名称。返回时调用匿名函数对象。结果是从对<code>cake</code>的调用打印“beets”,从对<code>pie</code>的调用打印“sweets”。<code>pie</code>还返回字符串“cake”,但该字符串未被绑定或捕获。你知道吗</p>
<pre><code>chocolate()
</code></pre>
<p><code>chocolate</code>仍然绑定到执行<code>chocolate = cake()</code>时<code>cake</code>返回的函数对象。现在我们只需调用前面捕获的函数对象。因为我们现在实际上并没有调用<code>cake</code>(我们只调用<code>pie</code>),“beets”没有打印出来,但是“sweets”是打印出来的。同样,它返回字符串“cake”,但是它没有被绑定或捕获。你知道吗</p>
<pre><code>more_chocolate, more_cake = chocolate(), cake
</code></pre>
<p>这将<code>more_chocolate</code>绑定到通过调用<code>chocolate</code>(即字符串“cake”)返回的对象。它还将<code>more_cake</code>与<code>cake</code>结合。不确定您是否真的打算这么做—这只是将<code>more_cake</code>绑定到<code>cake</code>绑定到的同一个函数对象,但实际上您并没有在这里调用任何函数。你知道吗</p>