title: CapWords conventions: get_MyClass or get_my_class
body: <p>This is a style conventions question.</p>
  
  <p>PEP8 convention for a class definition would be something like</p>
  
  <pre><code>class MyClass(object):
      def __init__(self, attri):
          self.attri = attri
  </code></pre>
  
  <p>So say I want to write a module-scoped function which takes some data, processes it, and then creates an instance of MyClass.</p>
  
  <p>PEP8 says that my function definitions should have lowercase_underscore style names, like</p>
  
  <pre><code>def get_my_class(arg1, arg2, arg3):
      pass
  </code></pre>
  
  <p>But my inclination would be to make it clear that I'm talking about MyClass instances like so</p>
  
  <pre><code>def get_MyClass(arg1, arg2, arg3):
      pass
  </code></pre>
  
  <p>For this case, it looks trivially obvious that my_class and MyClass are related, but there are some cases where it's not so obvious. For example, I'm pulling data from a spreadsheet and have a SpreadsheetColumn class that takes the form of a heading attribute and a data list attribute. Yet, if you didn't know I was talking about an instance of the SpreadsheetColumn class, you might think that I'm talking about a raw column of cells as they might appear in an Excel sheet.</p>
  
  <p>I'm wondering if it's reasonable to violate PEP8 to use <code>get_MyClass</code>. Being new to Python, I don't want to create a habit for a bad naming convention.</p>
  
  <p>I've searched PEP8 and Stack Overflow and didn't see anything that addressed the issue.</p>