擅长:python、mysql、java
<p>将<code>*args</code>和/或<code>**kwargs</code>作为函数定义的参数列表中的最后一项允许该函数接受任意数量的参数和/或关键字参数。</p>
<p>例如,如果要编写一个返回所有参数之和的函数,无论您提供多少,都可以这样编写:</p>
<pre><code>def my_sum(*args):
return sum(args)
</code></pre>
<p>它可能更常用于面向对象编程中,当您重写一个函数时,并且希望使用用户传入的任何参数调用原始函数。</p>
<p>实际上你不必叫他们<code>args</code>和<code>kwargs</code>,这只是一个惯例。是<code>*</code>和<code>**</code>发挥了魔力。</p>
<p>Python的官方文档有<a href="http://docs.python.org/2/tutorial/controlflow.html#more-on-defining-functions" rel="noreferrer">a more in-depth look</a>。</p>