<p>python3中的range函数有三个参数,其中两个是可选的。所以论证列表看起来像:</p>
<p>[开始],停止,[步骤]</p>
<p>所以这意味着(如果我错了,请纠正我)在非可选参数之前有一个可选参数。但是如果我试图定义这样的函数,我会得到:</p>
<pre><code>>>> def foo(a = 1, b, c = 2):
print(a, b, c)
SyntaxError: non-default argument follows default argument
</code></pre>
<p>作为一个普通的python用户,这是我做不到的,还是我可以定义这样一个函数?我当然可以做些</p>
<pre><code>def foo(a, b = None, c = 2):
if not b:
b = a
a = 1
</code></pre>
<p>但是例如,帮助功能会显示奇怪的信息。所以我真的想知道是否有可能定义一个像上面这样的函数(第一个)。</p>