擅长:python、mysql、java
<p>哦,天哪!这很糟糕:</p>
<pre><code>def predictRisk(**k,xyz=[]):
</code></pre>
<p>1切勿将可变对象用作参数默认值。它们在函数调用之间保持状态!这会给你带来一些无法定位的bug。使用以下命令:</p>
<pre><code>def predictRisk(**k, xyz=None):
if xyz is None:
xyz = []
</code></pre>
<p>2将args和kwargs放在签名的最后。否则k会抓住一切。(另外,旁注,写出kwargs这个词真的有那么多努力吗?一个字母的变量是……啊</p>
<pre><code>def predictRisk(xyz=None, **kwargs):
if xyz is None:
xyz = []
</code></pre>
<p>这是Python,请用蛇壳</p>
<pre><code>def predict_risk(xyz=None, **kwargs):
if xyz is None:
xyz = []
</code></pre>
<p>这应该已经改善了一些事情</p>