Clarify my preferences around trailing commas (#211)
This commit is contained in:
parent
ea042afc5b
commit
c78ccb3dcb
46
pep-0008.txt
46
pep-0008.txt
|
@ -466,6 +466,11 @@ Avoid extraneous whitespace in the following situations:
|
||||||
Yes: spam(ham[1], {eggs: 2})
|
Yes: spam(ham[1], {eggs: 2})
|
||||||
No: spam( ham[ 1 ], { eggs: 2 } )
|
No: spam( ham[ 1 ], { eggs: 2 } )
|
||||||
|
|
||||||
|
- Between a trailing comma and a following close parentheses. ::
|
||||||
|
|
||||||
|
Yes: foo = (0,)
|
||||||
|
No: bar = (0, )
|
||||||
|
|
||||||
- Immediately before a comma, semicolon, or colon::
|
- Immediately before a comma, semicolon, or colon::
|
||||||
|
|
||||||
Yes: if x == 4: print x, y; x, y = y, x
|
Yes: if x == 4: print x, y; x, y = y, x
|
||||||
|
@ -637,6 +642,47 @@ Other Recommendations
|
||||||
|
|
||||||
if foo == 'blah': one(); two(); three()
|
if foo == 'blah': one(); two(); three()
|
||||||
|
|
||||||
|
When to use trailing commas
|
||||||
|
===========================
|
||||||
|
|
||||||
|
Trailing commas are usually optional, except they are mandatory when
|
||||||
|
making a tuple of one element (and in Python 2 they have semantics for
|
||||||
|
the ``print`` statement). For clarity, it is recommended to surround
|
||||||
|
the latter in (technically redundant) parentheses.
|
||||||
|
|
||||||
|
Yes::
|
||||||
|
|
||||||
|
FILES = ('setup.cfg',)
|
||||||
|
|
||||||
|
OK, but confusing::
|
||||||
|
|
||||||
|
FILES = 'setup.cfg',
|
||||||
|
|
||||||
|
When trailing commas are redundant, they are often helpful when a
|
||||||
|
version control system is used, when a list of values, arguments or
|
||||||
|
imported items is expected to be extended over time. The pattern is
|
||||||
|
to put each value (etc.) on a line by itself, always adding a trailing
|
||||||
|
comma, and add the close parenthesis/bracket/brace on the next line.
|
||||||
|
However it does not make sense to have a trailing comma on the same
|
||||||
|
line as the closing delimiter (except in the above case of singleton
|
||||||
|
tuples).
|
||||||
|
|
||||||
|
Yes::
|
||||||
|
|
||||||
|
FILES = [
|
||||||
|
'setup.cfg',
|
||||||
|
'tox.ini',
|
||||||
|
]
|
||||||
|
initialize(FILES,
|
||||||
|
error=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
No::
|
||||||
|
|
||||||
|
FILES = ['setup.cfg', 'tox.ini',]
|
||||||
|
initialize(FILES, error=True,)
|
||||||
|
|
||||||
|
|
||||||
Comments
|
Comments
|
||||||
========
|
========
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue