What's the point of this code pattern?
<p>I was trying to create a python wrapper for an tk extension, so I looked at Tkinter.py to learn how to do it. </p>

<p>While looking at that file, I found the following pattern appears a lot of times: an internal method (hinted by the leading "_" in the method name) is defined, then a public method is defined just to be the internal method. </p>

<p>I want to know what's the benefit of doing this.</p>

<p>For example, in the code for class Misc:</p>

<pre><code>def _register(self, func, subst=None, needcleanup=1):
    # doc string and implementations is removed since it's not relevant
register = _register
</code></pre>

<p>Thank you.</p>
