title: Python decorators. Error while passing arguments
body: <p>I am trying to wrap my head around decorators. 
  So I tried passing arguments to a decorator and processing them inside the decorator function. 
  I just pass a list to the decorator and want my list to be processed inside the decorator function after calling
  the original function. Here's my code</p>
  
  <pre><code>def decorator_function(original_function):
      def new_function(*args, **kwargs):
          print("Your list shall be processed now.")
          print args
          #Do something with the passed list here.Say, call a function Process(list,string)
          original_function(*args, **kwargs) 
      return new_function
  
  
  
  @decorator_function([1,2,3])
  def hello(name = None):
      if name == None:
          print "You are nameless?"
      else:
          print "hello there,",name
  
  hello("Mellow")
  </code></pre>
  
  <p>I get this error</p>
  
  <pre><code>Your list shall be processed now.
  (&lt;function hello at 0x7f9164655758&gt;,)
  Traceback (most recent call last):
    File "anno_game.py", line 14, in &lt;module&gt;
      def hello(name = None):
    File "anno_game.py", line 8, in new_function
      original_function(*args, **kwargs) 
  TypeError: 'list' object is not callable
  </code></pre>
  
  <p>Can anyone please tell me what have I messed up here and point me in the right direction?</p>