1

そのため、Think Python チュートリアルに従ってタプルのセクションに進みました。質問したいのは、なぜこれが機能するのかということです。

def sumall(*args):
    return sum(args)
print sumall(1, 2, 3, 4)

この

sum(1,2,3,4)

しませんか?

4

2 に答える 2

2

なぜなら、これは1 つの引数でargsあるタプルだからです。以下はあなたの機能と同じことを行い、動作します:

sum((1,2,3,4))

余分な括弧がないとsum()、4 つの個別の引数で呼び出しているため、最初の引数は 4 つの整数のタプルではなく、1 つの整数だけになります。sum()最初の引数が代わりにシーケンスであると想定しているため、これは機能しません。オプションの 2 番目の引数を使用して、異なる開始値 (デフォルトは 0) を指定できます。これsum()は、最大 2 つの引数を取ることを意味します。

于 2013-09-21T14:31:06.797 に答える