 <p><a href="http://www.python.org/dev/peps/pep-0008/" rel="nofollow noreferrer">PEP 8</a> is pretty much "the root" of all common style guides.</p> <p>Google's <a href="http://google-styleguide.googlecode.com/svn/trunk/pyguide.html" rel="nofollow noreferrer">Python style guide</a> has some parts that are quite well thought of, but others are idiosyncratic (the two-space indents instead of the popular four-space ones, and the CamelCase style for functions and methods instead of the camel_case style, are pretty major idiosyncrasies).</p> <p>On to your specific questions:</p> <blockquote> <p>1.- What is the most widely used column width? (the eternal question) I'm currently sticking to 80 columns (and it's a pain!)</p> </blockquote> <p>80 columns is most popular</p> <blockquote> <p>2.- What quotes to use? (I've seen everything and PEP 8 does not mention anything clear) I'm using single quotes for everything but docstrings, which use triple double quotes.</p> </blockquote> <p>I prefer the style you're using, but even Google was not able to reach a consensus about this:-(</p> <blockquote> <p>3.- Where do I put my imports? I'm putting them at file header in this order.</p> <p>import sys import -rest of python modules needed-</p> <p>import whatever import -rest of application modules-</p> <p></p> </blockquote> <p>Yes, excellent choice, and popular too.</p> <blockquote> <p>4.- Can I use "import whatever.function as blah"? I saw some documents that disregard doing this.</p> </blockquote> <p>I strongly recommend you always import modules -- not specific names from inside a module. This is not just style -- there are strong advantages e.g. in testability in doing that. The <code>as</code> clause is fine, to shorten a module's name or avoid clashes.</p> <blockquote> <p>5.- Tabs or spaces for indenting? Currently using 4 spaces tabs.</p> </blockquote> <p>Overwhelmingly most popular.</p> <blockquote> <p>6.- Variable naming style? I'm using lowercase for everything but classes, which I put in camelCase.</p> </blockquote> <p>Almost everybody names classes with uppercase initial and constants with all-uppercase.</p>