In python why is the "object" class all in lower case instead of first letter in capitals?
<p>Before I ask this question please note that I've tried searching online for this question but because the word "object" is so common I get lots of unrelated results instead of what I'm looking for. I also looked through the official doc here: <a href="https://docs.python.org/3/tutorial/classes.html" rel="nofollow">https://docs.python.org/3/tutorial/classes.html</a> and didn't find any explanation for this. So please don't freak out when you read this question.</p>

<p><strong>Question:</strong></p>

<p>In python while declaring a new class we extend the object class. For ex:</p>

<pre><code>class SomeClass(object):
    #eggs and ham etc
</code></pre>

<p>Here we notice that SomeClass has S capital because we are following the camel case. However, the class that we are inheriting from - "object" doesn't seem to follow this naming convention. Why is the object class in all lower case?</p>

<p>If you go to the python interpreter and do this:</p>

<pre><code>&gt;&gt;&gt; object
&lt;type 'object'&gt;
</code></pre>

<p>You'll see object is a built-in type, the other built-in types in python are also lowercase <code>type, int, bool, float, str, list, tuple, dict, ...</code>. For instance:</p>

<pre><code>&gt;&gt;&gt; type.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; object.__class__
&lt;type 'type'&gt;     
&gt;&gt;&gt; int.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; type.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; int.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; bool.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; float.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; str.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; list.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; tuple.__class__
&lt;type 'type'&gt;
&gt;&gt;&gt; dict.__class__
&lt;type 'type'&gt;
</code></pre>

<p>So it makes sense they are not lowercase, that way is quite easy to distinguish them from the other type of classes</p>

python class inheritance