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

它为第二个参数提供默认值

可以使用一个或两个参数调用该函数。如果使用 1 调用它,则第二个参数i, 默认为零。

于 2012-05-09T15:02:20.833 回答