递归形式函数理解
Python 面向对象编程之递归代替循环|极客教程 (geek-docs.com)
函数式范式:
def sumr(seq):
if len(seq) == 0: return 0
return seq[0] + sumr(seq[1:])
return 1+x
x = 2+y
y = 3+0
return x
1+2+3 = 6
如果无要求连续数值递归,
return 1+x
x = 2+y
y = 3+
此时v=n ,肯定返回空
但应该需要继续输出完递归的内容
有选择的递归:
def until(n, filter_func, v):
if v == n: return []
if filter_func(v): return [v] + until(n, filter_func, v+1)
else: return until(n, filter_func, v+1)
Return 1+x
Else :Return 返回的值:继续进行遍历跳到v =3
满足遍历条件:
即 x = 3+y
后续还有:
V=4:执行v+
Y = 5+…
直至结束输出
本质:一个值+一个函数:
函数的值运算到最后运算出来
两个值相加
满足某遍历条件的可以使用lambda函数u
心思:
满足特点条件部分可以使用面向对象思想,提高重用
混合范式:
此类与推导式相似:
可以用其他函数替换if从句部分,使其实现更复杂的功能
±add()函数
总结:满足特点条件部分可以使用面向对象思想,提高重用
即可变部分将特定使用改为普遍使用