title: When I use sqlite3.connect('database_name.db'), how is Connection object made even when we do not explicitly specify the class name, Connection?
body: <p><code>import sqlite3</code>
  <code>conn=sqlite3.connect('jobs.db')</code></p>
  <p>When the above lines are executed, we find that <code>conn</code> is an object of <code>Connection</code> class, which is present in sqlite3 python module.</p>
  <p>The description of <code>conn</code> is as follows:</p>
  <p><code>conn Connection (&lt;class 'sqlite3.Connection'&gt;)</code>
  <code>&lt;sqlite3.Connection at 0x7fe12f6f3490&gt;</code></p>
  <p>Even though we did not explicitly specify in the code that <code>conn</code> is a <code>Connection</code> object, how does the interpreter determine that <code>connect()</code> is a function present in <code>Connection</code> class inside the module, and a <code>Connection</code> object must be prepared?</p>