title: Are functions objects in Python?
body: <p>I always hear this statement in Python (for topics such as decorators, etc. when you are passing functions, etc.) but have never really seen an elaboration on this. </p>
  
  <p>For example is it possible to create a class <code>c</code> that has only one abstract method that is called with a set of opened and closed brackets.</p>
  
  <pre><code>i.e class c:
         @abstractmethod
         def method_to_be_called_by():
          ... 
  </code></pre>
  
  <p>so you can have </p>
  
  <pre><code>c(whatever parameters are required)
  </code></pre>
  
  <p>I could be way off the mark with my understanding here, I was just curious about what people meant by this.</p>