擅长:python、mysql、java
<p>通常一个函数应该返回它生成的结果。但是,当您传递一个列表时,您要么需要复制该列表,要么接受它将被修改的事实;返回修改后的列表是多余的。如果提供默认参数,也会导致问题,因为默认参数也会被修改。你知道吗</p>
<p>我通常倾向于将参数设为只读,除非很明显它们会被修改。你知道吗</p>
<p>我的建议是:</p>
<pre><code>def modify(alist=[]):
alist = alist[:] # make a copy
alist.append(4)
return alist
</code></pre>