<p>你说的是可变长度的参数表吗?如果是这样,请看一看<code>*args</code>,<code>**kwargs</code>。在</p>
<p>请看这个<a href="http://basicpython.com/understanding-arguments-args-and-kwargs-in-python/" rel="nofollow noreferrer">Basic Guide</a>和<a href="http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/" rel="nofollow noreferrer">How to use *args and **kwargs in Python</a></p>
<p>来自<a href="http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/" rel="nofollow noreferrer">[1]</a>的两个简短示例:</p>
<p>使用<code>*args</code>:</p>
<pre><code>def test_var_args(farg, *args):
print "formal arg:", farg
for arg in args:
print "another arg:", arg
test_var_args(1, "two", 3)
</code></pre>
<p>结果:</p>
^{pr2}$
<p>并使用<code>**kwargs</code>(关键字参数):</p>
<pre><code>def test_var_kwargs(farg, **kwargs):
print "formal arg:", farg
for key in kwargs:
print "another keyword arg: %s: %s" % (key, kwargs[key])
test_var_kwargs(farg=1, myarg2="two", myarg3=3)
</code></pre>
<p>结果:</p>
<pre><code>formal arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
</code></pre>
<p>引用这个SO问题<a href="https://stackoverflow.com/questions/287085/what-does-args-and-kwargs-mean">What do *args and **kwargs mean?</a>:</p>
<blockquote>
<p>Putting *args and/or **kwargs as the last items in your function
definition’s argument list allows that function to accept an arbitrary
number of anonymous and/or keyword arguments.</p>
</blockquote>