码迷,mamicode.com
首页 > 编程语言 > 详细

14 python初学(高阶函数 递归函数 内置函数)

时间:2019-01-12 00:23:27      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:自身   blog   justify   执行   color   条件   解决   栈溢出   foo   

高阶函数:1.  函数名是一个变量,函数名可以进行赋值

  2. 函数名可以作为函数参数,还可以作为函数返回值(函数名称作为函数返回值时返回的是:函数的地址;print 这个返回值的调用相当于执行这个函数。 函数调用作为函数返回值相当于返回这个函数的执行结果)

 

def f(n):
    return n*n
def foo(a, b, func):
    return func(a)+func(b)

print(foo(1, 2, f))

# >>> 5

递归函数:

  1. 调用自身函数
  2. 设置结束条件
  3. 每次进入更深一层递归时,问题规模相比上一层都有所减少
  4. 但凡是递归可以写的函数,循环都可以解决
  5. 递归的效率在很多时候非常低,递归层次过多会导致栈溢出

经典案例:斐波那切数列

# 0 1 1 2 3 5 8 13 21
# febo(1) = 0    febo(2) = 1  febo(3) = 1
# febo(n) = feb(n-1) + feb (n-2)
def febo(n):
    if n == 1:
        return 0
    if n == 2:
        return 1
    return febo(n-1)+febo(n-2)

print(febo(4))


内置函数:

       参考如下博客:https://www.cnblogs.com/y-m-f/p/7764798.html

 

 

 

 

14 python初学(高阶函数 递归函数 内置函数)

标签:自身   blog   justify   执行   color   条件   解决   栈溢出   foo   

原文地址:https://www.cnblogs.com/mlllily/p/10257691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!