3

私はPythonの初心者で、Javaのバックグラウンドを持っています。私は次の関数定義に出くわしました

def S(seq,i=0):
    print i
    if i==len(seq): 
        return 0    
    return S(seq,i+1)+seq[i]

ここでは正確に何i=0をしますか?毎回0に再初期化されますか?iの値が増加していることに気付いたからです。

4

1 に答える 1

8

2番目の引数のデフォルト値を提供します。

関数は、1つまたは2つの引数を使用して呼び出すことができます。1で呼び出された場合、2番目の引数、iはデフォルトでゼロになります。

于 2012-05-09T15:02:20.833 に答える