Inheritance in Python?
<p>Suppose that I have the following <code>python</code> base class:</p>

<pre><code>class BaseClass(object):
    def a():
        """This method uses method b(), defined in the inheriting class"""
</code></pre>

<p>And also a class that inherites <code>BaseClass</code>:</p>

<pre><code>class UsedByUser(BaseClass):
    def b():
        """b() is defined here, yet is used by the base class"""
</code></pre>

<p>My user would only create instances of class <code>UsedByUser</code>. Typical use would be:</p>

<pre><code>if __name__ == '__main__':
    # initialize the class used by the user        
    usedByUser = UsedByUser()

    # invoke method a()
    usedByUser.a()
</code></pre>

<hr>

<p>My questions is, is the above use problematic? is this a valid approach, or must I also define method <code>b()</code> in <code>BaseClass</code> and then override it in <code>UsedByUser</code>?</p>
