码迷,mamicode.com
首页 > 其他好文 > 详细

高阶函数

时间:2016-01-01 18:48:43      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

1. 变量可以指向函数名

def f(a):
  return abs(a)
h = f(-10) # 这样是调用函数f且把结果传给变量h
print h
h = f # 这是让变量h指向函数f.
print h(-10)

 

2. 函数名也是变量

def f(a):
  return abs(a)
f = 1
f(-10)
# Traceback (most recent call last):
# File "x", line 12, in <module>
# f(-10)
# TypeError: ‘int‘ object is not callable
#

函数名f, 指向一个可以计算绝对值的函数。
后执行f = 1时, f指向了整数1.
于是就无法通过f(-10)去调用可以计算出绝对值的函数

3. 高阶函数
既然变量可以指向函数,函数的参数能接收变量
那么把能接收指向函数的变量的函数,称为高阶函数。
举例:

def add(x,y,f):
    return f(x) + f(y)

其中变量f指向一个可以计算出绝对值的函数,那么称函数add是高阶函数。

print add(5, -6, f)
# 11

 

高阶函数

标签:

原文地址:http://www.cnblogs.com/haoshine/p/5093517.html

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