What does *args and **kwargs mean?
<p>What exactly does <code>*args</code> and <code>**kwargs</code> mean?</p>

<p>According to the Python documentation, from what it seems, it passes in a tuple of arguments.</p>

<pre><code>def foo(hello, *args):
    print hello

    for each in args:
        print each

if __name__ == '__main__':
    foo("LOVE", ["lol", "lololol"])
</code></pre>

<p>This prints out:</p>

<pre><code>LOVE
['lol', 'lololol']
</code></pre>

<p>How do you effectively use them?</p>
