そのため、Think Python チュートリアルに従ってタプルのセクションに進みました。質問したいのは、なぜこれが機能するのかということです。
def sumall(*args):
return sum(args)
print sumall(1, 2, 3, 4)
この
sum(1,2,3,4)
しませんか?
そのため、Think Python チュートリアルに従ってタプルのセクションに進みました。質問したいのは、なぜこれが機能するのかということです。
def sumall(*args):
return sum(args)
print sumall(1, 2, 3, 4)
この
sum(1,2,3,4)
しませんか?
なぜなら、これは1 つの引数でargs
あるタプルだからです。以下はあなたの機能と同じことを行い、動作します:
sum((1,2,3,4))
余分な括弧がないとsum()
、4 つの個別の引数で呼び出しているため、最初の引数は 4 つの整数のタプルではなく、1 つの整数だけになります。sum()
最初の引数が代わりにシーケンスであると想定しているため、これは機能しません。オプションの 2 番目の引数を使用して、異なる開始値 (デフォルトは 0) を指定できます。これsum()
は、最大 2 つの引数を取ることを意味します。