关于递归形式函数


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()函数
总结:满足特点条件部分可以使用面向对象思想,提高重用
即可变部分将特定使用改为普遍使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值