擅长:python、mysql、java
<p>在Python2中,所有位置参数都必须在任何<code>*args</code>参数之前。在Python3中,您当前的语法是合法的,将<code>option</code>创建为“仅限关键字”参数。在</p>
<p>所以,你可以改变论点的顺序:</p>
<pre><code>def f(option=None, *args):
...
</code></pre>
<p>如果您想提供任何其他参数,这将需要您提供一个<code>option</code>参数,这可能不是您想要的。在</p>
<p>另一个选择是使用<code>**kwargs</code>语法来捕获传递给函数的关键字参数。您可以检查它是否有<code>option</code>(而不是任何其他意外的关键字),而无需将其命名为位置参数:</p>
^{pr2}$
<p>或者可以升级到python3。在</p>