题外话:由于递归深度可控,一般写类似递归的方法时尽量使用迭代器,例如Fibonacci数列,在python高级中我会把迭代器实现Fibonacci数列的方法贴出来,而不是用递归。
递归深度尽量不去修改,用起来也会很绕。下面我贴出来如何测试出本机递归深度:
def func(num):
if num == 1:
return 1
else:
return num * func(num-1)
print(func(998)) # 这台机子的递归最大深度998,这里数字自己在997-999之间修改,不同机器默认的递归深度不同