title: What is the purpose of using instance of a class as a super/base class?
body: <p>What is the purpose of subclassing an instance of a class in Python? Here's an example: </p>
  
  <pre><code>class A:
      def __init__(*args): print(args) 
  
  base = A() 
  
  
  class Test(base): pass 
  </code></pre>
  
  <p>This code works properly under Python, but <code>base</code> is an instance of class <code>A</code> (1) <strong>Why do we need to subclass an instance of a class?</strong> <strong>Is it related to metaclasses?</strong></p>
  
  <p>From this question: 
  <a href="https://stackoverflow.com/questions/37876318/what-happens-when-you-inherent-from-a-module-instead-of-a-class-in-python?rq=1">What happens when you inherent from a module instead of a class in Python?</a></p>
  
  <p>I understand that <code>Test(base)</code> will become <code>type(base).__init__</code>, (2) <strong>does this happen at definition time, when the class is defined?</strong> (3) <strong>How does Python know/decide that <code>base</code> is an instance of a class? Is it becuase <code>type(base)</code> doesn't return <code>type</code>?</strong></p>