擅长:python、mysql、java
<blockquote>
<p>I cannot pass count to the function because that could lead to user
error.</p>
</blockquote>
<p>只需将其设置为默认值,并记录不应使用的文档。特别是在你的示例代码中,这就是你要做的。这通常就是解决这种递归问题的方法。如果要稍微隐藏它,可以使用<code>**kwargs</code>向用户隐藏关键字参数:</p>
<pre><code> def sumDigits(n, **kwargs):
try:
count = kwargs['count']
except KeyError:
count = 0
...
return sumDidgets(n, count = count)
</code></pre>
<p>请注意,我使用<code>**kwargs</code>而不是<code>*args</code>来允许用户传递几乎任何他们想要传递给函数的检查,只要它不是<code>count =</code>,并让它按预期的方式运行。你知道吗</p>