title: passing a tuple in *args
body: <p>I'd like to pass a tuple (or maybe a list) to a function as a sequence of values (arguments). The tuple should be then unpacked as an argument into *arg.</p>
  
  <p>For example, this is clear:</p>
  
  <pre><code>def func(*args):
      for i in args:
          print "i = ", i
  
  func('a', 'b', 3, 'something')
  </code></pre>
  
  <p>But what I want to do is this:</p>
  
  <pre><code>tup = ('a1', 'a2', 4, 'something-else')
  func(tup)
  </code></pre>
  
  <p>And this should behave similar to the first case. 
  I think I should use here reprint and eval but not sure how exactly.</p>
  
  <p>I know that I can just pass the tuple in the function and then unpack it within the body, but my question here is how to unpack it in the function call itself.</p>