title: When do I need a * character in function definition in Python?
body: <p>I have the two functions I defined as below,</p>
  
  <pre><code>def sumit(func,*args):
      return func(*args)
  def sumitt(*args):
      return sum(args)
  sumit(sumitt,2,3,4)
  </code></pre>
  
  <p>I experimented a bit by changing the second line to <code>return func(args)</code> and I got an error. But why in the 4th line, it's <code>sum(args)</code> rather than <code>sum(*args)</code>? What caused this inconsistency?</p>