这个函数定义在python中是如何工作的?
我是Python的新手,有Java背景。我遇到了以下函数定义这个函数定义在python中是如何工作的?,python,Python,我是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的值是递增的。它为第二个参数提供了默认值 可以使用一个或两个参数调用该函数。如果用一调用,第二个参数,i,默认为零。这意味着在这种情况下,seq将是一个强制参数?@KodeS
def S(seq,i=0):
print i
if i==len(seq):
return 0
return S(seq,i+1)+seq[i]
i=0
在这里具体做什么,是否每次都重新初始化为0?因为我注意到I的值是递增的。它为第二个参数提供了默认值
可以使用一个或两个参数调用该函数。如果用一调用,第二个参数,
i
,默认为零。这意味着在这种情况下,seq
将是一个强制参数?@KodeSeeker:是的,seq
将是一个强制参数。此外,Python默认参数经常会让来自其他语言的程序员感到困惑。一定要阅读。