What is the syntax rule for having trailing commas in tuple definitions?

前端 未结 10 1620
被撕碎了的回忆
被撕碎了的回忆 2020-11-22 05:54

In the case of a single element tuple, the trailing comma is required.

a = (\'foo\',)

What about a tuple with multiple elements? It seems t

10条回答
  •  天命终不由人
    2020-11-22 06:20

    PEP 8 -- Style Guide for Python Code - 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,)
    

提交回复
热议问题