擅长:python、mysql、java
<p>这两种方法不完全相同。在第一个示例中,<code>Test(None)</code>将导致将<code>weight</code>设置为<code>None</code>,而在第二个示例中,它将导致将<code>weight</code>设置为<code>Weight</code></p>
<p>除此之外,我更喜欢第一种方法,特别是如果很明显需要浮点数的话。只是没那么好写。但是,如果您必须避免将<code>weight</code>设置为<code>None</code>,那么两者的结合可能是最佳选择</p>
<p>关于速度:我不在乎第二种方法会花费多少纳秒</p>
<p><strong>编辑:</strong>正如其他答案所指出的,如果您更新<code>Test.Weight</code>,默认参数将不会得到更新,但在第二个示例中,您将始终设置更新的值。如果这是一个问题,使用第二种方法</p>