十一:高阶函数和递归函数

一:高阶函数:

def:高阶函数简单来说就是在计算中用到的二次方,三次方等之类的函数,我们可以直接通过函数调用来实现。

 1 # 高阶函数
 2 
 3 def f(n):
 4     return n * n
 5 
 6 
 7 def foo(a,b,func):     # 可以把函数作为参数传入另一个函数中
 8     ret = func(a) + func(b)
 9     return  ret
10 
11 print(foo(1,2,f))

二:递归函数

def:递归函数就是一个函数在自己内部调用了自己,对于这类函数要找到递归函数的递归体和递归出口,但是需要知道递归函数的执行效率很低,一般情况下我们不建议使用。

example1:用递归函数实现阶乘:

 1  #递归函数 : 效率很低,尽量少用
 2 
 3  def f(n):
 4      if n == 1:      # 递归出口
 5          return 1
 6      else:
 7          ret = n * f(n - 1)    # 递归体
 8 
 9      return ret
10 
11  print(f(5))

example 2: 用递归函数实现斐波那契数列:

 1 #  斐波那契数列
 2 #  序列:0 1 1 2 3 5 8
 3 def fib(n):
 4     if n <=1:              #递归出口
 5         return n      
 6     else:
 7         ret = fib(n-1)+fib(n-2)     #递归体
 8     return ret 
 9 
10 print(fib(5))

 

转载于:https://www.cnblogs.com/zpcoding/p/9445529.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值