indentation
J. Clifford Dyer
jcd at sdf.lonestar.org
Mon Oct 20 18:55:46 EDT 2008
On Mon, 2008-10-20 at 13:29 +0000, Steven D'Aprano wrote:
> On Mon, 20 Oct 2008 11:01:19 +0200, Bruno Desthuilliers wrote:
>
> > Steven D'Aprano a écrit :
> >> On Sun, 19 Oct 2008 19:03:29 +0200, Bruno Desthuilliers wrote:
> >>
> >>> Steven D'Aprano a écrit :
> >>>
> >>> (snip)
> >>>
> >>>> You can use tabs, or spaces. If you use spaces, you can choose 4
> >>>> spaces, or 8, or any number,
> >>> By all means, make it 4 spaces - that's the standard.
> >>
> >> It's *a* standard. I believe it is the standard for the Python standard
> >> library, but there are other standards.
> >
> > I can't remember having seen any other "standard" so far.
>
>
> How about PEP 8? It's not even hidden deep in the bowels of the PEP --
> it's almost at the top.
> http://www.python.org/dev/peps/pep-0008/
>
> "For really old code that you don't want to mess up, you can continue to
> use 8-space tabs."
>
Fair, but limited to old code, so doesn't apply to instructions for new
code.
>
> Then there's string.expandtabs():
>
> expandtabs(...)
> S.expandtabs([tabsize]) -> string
>
> Return a copy of S where all tab characters are expanded using spaces.
> If tabsize is not given, a tab size of 8 characters is assumed.
>
The default for a tab does not imply anything about how python code
should be indented.
>
> Here's Jamie Zawinski:
> http://www.jwz.org/doc/tabs-vs-spaces.html
>
> "On defaultly-configured Unix systems, and on ancient dumb terminals and
> teletypes, the tradition has been for the TAB character to mean ``move to
> the right until the current column is a multiple of 8.'' (As it happens,
> this is how Netscape interprets TAB inside <PRE> as well.) This is also
> the default in the two most popular Unix editors, Emacs and vi."
>
Again, refers to the interpretation of a tab, rather than indentation
conventions.
>
> This page is a little old (2002), but it states that the standards for
> OpenBSD and Linux (presumably the kernels) are 8 space indents:
>
> http://xarg.net/writing/tabs
>
Not python. I think when Bruno says it's *the* standard, we can assume
he means "for python."
> Here's a style guide that recommends 2, 3 or 4 space indents:
>
> http://www.cs.bris.ac.uk/Teaching/Resources/COMS12100/style/
>
Again, it's for java and C, not python.
>
> And of course, whenever there's a difference of opinion, we can turn to
> the ultimate source of all knowledge: Googlefight! *wink*
>
> http://www.googlefight.com/index.php?lang=en_GB&word1=tab+8
> +spaces&word2=tab+4+spaces
> Nearly 50 million hits for "tab 8 spaces" versus a piddly 762 thousand
> hits for "tab 4 spaces".
>
>
And I still don't care how many spaces are in a tab. ;D
Cheers,
Cliff
More information about the Python-list
mailing list