title: What does the asterisk do in Python other than multiplication and exponentiation?
body: <p>In Peter Norvig's Lisp interpreter written in Python (<a href="http://norvig.com/lispy.html" rel="noreferrer">http://norvig.com/lispy.html</a>), he defines Lisp's <code>eval</code> as follows:</p>
  
  <pre><code>def eval(x, env=global_env):
      "Evaluate an expression in an environment."
      if isa(x, Symbol):             # variable reference
          return env.find(x)[x]
      elif not isa(x, list):         # constant literal
          return x                
      elif x[0] == 'quote':          # (quote exp)
          (_, exp) = x
          return exp
      elif x[0] == 'if':             # (if test conseq alt)
          (_, test, conseq, alt) = x
          return eval((conseq if eval(test, env) else alt), env)
      elif x[0] == 'set!':           # (set! var exp)
          (_, var, exp) = x
          env.find(var)[var] = eval(exp, env)
      elif x[0] == 'define':         # (define var exp)
          (_, var, exp) = x
          env[var] = eval(exp, env)
      elif x[0] == 'lambda':         # (lambda (var*) exp)
          (_, vars, exp) = x
          return lambda *args: eval(exp, Env(vars, args, env))
      elif x[0] == 'begin':          # (begin exp*)
          for exp in x[1:]:
              val = eval(exp, env)
          return val
      else:                          # (proc exp*)
          exps = [eval(exp, env) for exp in x]
          proc = exps.pop(0)
          return proc(*exps)
  
  isa = isinstance
  
  Symbol = str
  </code></pre>
  
  <p>This line in particular interests me:</p>
  
  <pre><code>return proc(*exps)
  </code></pre>
  
  <p>What is the asterisk in from of <code>exps</code> doing exactly?</p>