代码改变世界

P2:递归和高阶函数

2018-04-17 10:19  今天我要学习  阅读(171)  评论(0)    收藏  举报

递归

递归的特性:

  1. 必须有明确的结束条件
  2. 递归规模必须减少
  3. 递归效率不高

 

#coding=utf-8

def cal(n):

    print n

    if int(n/2) > 0:

        return cal(int(n/2))

    print '递归结束后的值:',n

cal(10)

 

高阶函数:

定义就是,一个函数作为另一个函数的参数

#coding=utf-8

def f(x,y,f):

    return f(x)+f(y)

a = f(1,-3,abs)

print a

#结果:4