title: Python simple decorator issue
body: <pre><code>def my_decorator(some_function):
          print("Something is happening before some_function() is called.")
          some_function()
          print("Something is happening after some_function() is called.")
  
  def just_some_function():
      print("Wheee!")
  
  just_some_function = my_decorator(just_some_function)
  just_some_function()
  
  TypeError: 'NoneType' object is not callable 
  </code></pre>
  
  <p>I really do not understand, why doesnt this work?</p>
  
  <p>just_some_function should become basically this according to my understanding:    </p>
  
  <pre><code>just_some_function():
          print("Something is happening before some_function() is called.")  
          print("Wheee!")  
          print("Something is happening after some_function() is called.")  
  </code></pre>
  
  <p>But the origional function needs a wrapper function for it to work, e.g.:</p>
  
  <pre><code>def my_decorator(some_function):
      def wrapper():
          print("Something is happening before some_function() is called.")
          some_function()
          print("Something is happening after some_function() is called.")
      return wrapper
  </code></pre>
  
  <p>Why? Could someone explain the logic behind it please?</p>