Code styleΒΆ
Always import
unicode_literalsand use unicode literals for everything except where you’re explicitly working with bytes, which are marked with thebprefix.Do this:
from __future__ import unicode_literals foo = 'I am a unicode string, which is a sane default' bar = b'I am a bytestring'
Not this:
foo = u'I am a unicode string' bar = 'I am a bytestring, but was it intentional?'
Follow PEP 8 unless otherwise noted. flake8 should be used to check your code against the guidelines.
Use four spaces for indentation, never tabs.
Use CamelCase with initial caps for class names:
ClassNameWithCamelCaseUse underscore to split variable, function and method names for readability. Don’t use CamelCase.
lower_case_with_underscoresUse the fact that empty strings, lists and tuples are
Falseand don’t compare boolean values using==and!=.Follow whitespace rules as described in PEP 8. Good examples:
spam(ham[1], {eggs: 2}) spam(1) dict['key'] = list[index]
Limit lines to 80 characters and avoid trailing whitespace. However note that wrapped lines should be one indentation level in from level above, except for
if,for,with, andwhilelines which should have two levels of indentation:if (foo and bar ... baz and foobar): a = 1 from foobar import (foo, bar, ... baz)For consistency, prefer
'over"for strings, unless the string contains'.Take a look at PEP 20 for a nice peek into a general mindset useful for Python coding.