Why builtin function type() gives different output when class is a subclass of an object class?
<p>Why <code>type(Foo)</code> is different from <code>type(Bar)</code> and <code>type(foo)</code> is different from <code>type(bar)</code>? </p>

<pre><code>&gt;&gt;&gt; class Foo: pass   
...
&gt;&gt;&gt; foo = Foo()
&gt;&gt;&gt; class Bar(object): pass 
...
&gt;&gt;&gt; bar = Bar()
&gt;&gt;&gt;
&gt;&gt;&gt; type(Foo)
&lt;type 'classobj'&gt;
&gt;&gt;&gt; type(foo)
&lt;type 'instance'&gt;
&gt;&gt;&gt; type(Bar)
&lt;type 'type'&gt;
&gt;&gt;&gt; type(bar)
&lt;class '__main__.Bar'&gt;
</code></pre>
