擅长:python、mysql、java
<p><a href="https://www.python.org/dev/peps/pep-0020/#id2" rel="nofollow noreferrer"><em>"Explicit is better than implicit."</em></a></p>
<p>传递匿名<code>kwargs</code>真的没有什么好处。函数应该尽可能地命名它们的关键字参数。而调用方(如<code>main</code>)不会通过保存代码的奇数字节来提高质量或可读性。根据需要处理/过滤KWARG。或者</p>
<pre><code>def main(*args, foo="bar", qux="baz"):
sub1(*args, foo=foo)
sub2(qux=qux)
</code></pre>
<p>或</p>
<pre><code>def main(*args, **kwargs):
sub1(*args, foo=kwargs.get("foo"))
sub2(qux=kwargs.get("qux"))
</code></pre>
<p>将完成工作并易于理解</p>
<p>当然,您可以定义如下函数(do<strong>NOT</strong>):</p>
<pre><code>def sub1(a, b, **kwargs):
print(a+b)
print(kwargs.get("foo", "bar"))
</code></pre>
<p>这将允许调用者传递将被忽略的随机KWARG,但这使调用者更难找到此函数真正需要的KWARG</p>