Style guide for Python code, from the man himself.
An interesting section for me is the one on naming conventions, since they confuse me a lot.
In addition, the following special forms using leading or trailing underscores are recognized (these can generally be combined with any case convention):
_single_leading_underscore: weak “internal use” indicator. E.g.from M import *does not import objects whose names start with an underscore.single_trailing_underscore_: used by convention to avoid conflicts with Python keyword.__double_leading_underscore: when naming a class attribute, invokes name mangling (inside class FooBar,__boobecomes_FooBar__boo; see below).__double_leading_and_trailing_underscore__: “magic” objects or attributes that live in user-controlled namespaces. E.g.__init__,__import__or__file__. Never invent such names; only use them as documented.