title: "Private" (implementation) class in Python
body: <p>I am coding a small Python module composed of two parts:</p>
  
  <ul>
  <li>some functions defining a public interface,</li>
  <li>an implementation class used by the above functions, but which is not meaningful outside the module.</li>
  </ul>
  
  <p>At first, I decided to "hide" this implementation class by defining it inside the function using it, but this hampers readability and cannot be used if multiple functions reuse the same class.</p>
  
  <p>So, in addition to comments and docstrings, is there a mechanism to mark a class as "private" or "internal"? I am aware of the underscore mechanism, but as I understand it it only applies to variables, function and methods name.</p>