<p>Coming from a C# background the naming convention for variables and method names are usually either camelCase or PascalCase:</p>

<pre class="lang-cs prettyprint-override"><code>// C# example
string thisIsMyVariable = "a"
public void ThisIsMyMethod()
</code></pre>

<p>In Python, I have seen the above but I have also seen underscores being used:</p>

<pre class="lang-py prettyprint-override"><code># python example
this_is_my_variable = 'a'
def this_is_my_function():
</code></pre>

<p>Is there a more preferable, definitive coding style for Python?</p>

See Python
PEP 8: Function and Variable Names
:
Function names should be
lowercase, with words separated by underscores
as necessary to improve readability.
Variable names follow the same convention as function names.
mixedCase
is allowed only in contexts where that's already the prevailing style (e.g.
threading.py
), to retain backwards compatibility.