title: Python Type System - Object vs Type
body: <p>I am new to Python. I am familiar with Java, C/C++, and OCaml. I understand Lambda Calculus and elementary Type Theory because of a Programming Languages course I took at University. </p>
  
  <p>Armed with this background, I tried to read this - <a href="http://www.cafepy.com/article/python_types_and_objects/python_types_and_objects.html" rel="noreferrer">http://www.cafepy.com/article/python_types_and_objects/python_types_and_objects.html</a></p>
  
  <p>Somewhere down, he mentions this:</p>
  
  <ul>
  <li>(type 'object') is an instance of (type 'type')  </li>
  <li>(type 'object') is a subclass of no object.  </li>
  <li>(type 'type') is an instance of itself. </li>
  <li>(type'type') is a subclass of (type 'object')</li>
  </ul>
  
  <p>I am not able to wrap my poor brain around this:</p>
  
  <ul>
  <li>(type 'object') is an instance of (type 'type') </li>
  <li>(type 'type') is a    subclass of (type 'object')</li>
  </ul>
  
  <p>What the bleep is happening here? What I want to hear is extremely in depth reasons on what exactly is happening here, and why things are the way they are. No shallow reasons or analogies please.</p>