擅长:python、mysql、java
<p>如果你真的想要一个完整的什么都不做的函数,请确保使用<code>*args</code><em>和</em><code>*kwargs</code>。</p>
<pre><code>noop = lambda *args, **kwargs: None
</code></pre>
<p>在所有光荣的行动中</p>
<pre><code>>>> noop = lambda *args, **kwargs: None
>>> noop("yes", duck_size="horse", num_ducks=100)
>>>
</code></pre>
<hr/>
<h2>旁注</h2>
<p>帮自己一个忙,包括<code>**kwargs</code>处理。如果你试图在代码的某个地方使用它,却忘了它不会占用<code>kwargs</code>,那么什么都不做是一个例外:</p>
<pre><code>In [2]: do_nothing('asdf', duck="yes")
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-efbd722f297c> in <module>()
----> 1 do_nothing('asdf', duck="yes")
TypeError: <lambda>() got an unexpected keyword argument 'duck'
</code></pre>