75

*argsPython で末尾のコンマを使用できないのはなぜですか? 言い換えれば、これは機能します

>>> f(1, 2, b=4,)

しかし、これはそうではありません

>>> f(*(1, 2), b=4,)
  File "<stdin>", line 1
    f(*(1, 2), b=4,)
                   ^
SyntaxError: invalid syntax

これは、Python 2 と Python 3 の両方に当てはまります。

4

2 に答える 2

6

issue 9232のこのバグに関するいくつかの議論の後、Guido van Rossumはコメントしました:

これを追加すると+1されます。PEPが必要だとは思わない。定義の末尾のコンマは、いくつかの場所で既にサポートされているため、エラーをキャッチするという議論には同意しません。モラトリアムの間、私たちは厳しすぎたのかもしれません。

その後、Mark Dickinson によるパッチがコミットされました。したがって、これは Python 3.6.0 alpha 1 で修正されました。

于 2015-09-28T11:22:07.520 に答える