擅长:python、mysql、java
<p>如果你想要一个空单元格(这就是我发现这个问题的原因)(一个引用它会引发<code>NameError: free variable '...' referenced before assignment in enclosing scope</code>并访问它的<code>cell.cell_contents</code>引发一个<code>ValueError: Cell is empty</code>),你可以使一个值成为一个局部变量,但永远不要让它被赋值:</p>
<pre><code>def make_empty_cell():
if False:
# Any action that makes `value` local to `make_empty_cell`
del value
return (lambda: value).__closure__[0]
</code></pre>
<p>你可以这样组合它们:</p>
^{pr2}$
<p>因此,不带参数的调用将返回一个空单元格,而对于任何值,则返回具有该值的单元格。在</p>
<p>如果不关心空单元格,可以执行以下操作:</p>
<pre><code>def make_cell(value):
return (lambda: value).__closure__[0]
</code></pre>
<p>注意,在旧的python2中它是<code>func_closure</code>,而不是{<cd5>}。在</p>