1、变量可以指向函数

以内置的求绝对值abs()函数为例,:

>>> abs(-12)
12
>>> abs
<built-in function abs>
>>> m = abs
>>> m
<built-in function abs>
>>> m(-12)
1

可知,函数本身可以赋值给变量,即:变量指向函数。此时,我们可以通过变量来调用这个函数!

2、函数名其实也是变量

>>> abs = 10
>>> abs(-10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

当abs指向10的时候,就无法通过abs(-10)调用该函数了。因为函数名其实就是一个指向函数的变量!abs这个变量已经指向一个整数-10!要恢复abs的原始功能,就要重启python的交互环境了。

3、高阶函数

既然变量可以指向函数,而函数的参数又能接收变量,那么一个函数就可以接收另外一个函数作为参数。这样的函数就是高阶函数。简单举例:

>>> def add(x,y,f):
... return f(x)+f(y)
...
>>> add(6,7,abs)
13

推导过程如下:

x = 6
y = 7
f = abs
f(x) + f(y) ==> abs(6) + abs(7) ==> 11
return 13

最新文章

  1. Linux安装MySQL
  2. nginx下配置404错误页面
  3. MapReduce框架Partitioner分区方法
  4. asp.net 中插入数据到access
  5. Android进阶笔记13:RoboBinding(实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架)
  6. Labview学习之远程控制VI
  7. 笔记整理--玩转robots协议
  8. Java面向对象 线程技术--上篇
  9. 免费好用的阿里云云盾证书服务(https证书)申请步骤
  10. 2. [mmc subsystem] mmc core数据结构和宏定义说明
  11. php-fpm sock 进程池优化
  12. oracle数据表中的中文变问号
  13. NVIDIA GeForce GTX 960 设备是不可移动的,无法弹出
  14. APP适配IOS8,iPhone6和Plus截图简要说明
  15. [C/C++] String Reverse 字符串 反转
  16. idea下maven项目增加依赖项目里面没有添加相关依赖jar
  17. 图论:最短路-SPFA
  18. mysql分裤分表
  19. React.js 小书 Lesson8 - 组件的组合、嵌套和组件树
  20. Cadence17.2下载ALTERA的FPGA封装库

热门文章

  1. shell一键部署nginx+tomcat
  2. Numpy用于数组数据的存储和读取
  3. ggplot2|玩转Manhattan图-你有被要求这么画吗?
  4. 计蒜客-蒜场抽奖(AC自动机+状态压缩DP)
  5. 2017 ACM/ICPC 沈阳 I题 Little Boxes
  6. HDU 1520 Anniversity party
  7. Jenkins编译过程中出现ERROR_ Failed to parse POMs错误
  8. irules
  9. Linux sudo用户提权与日志审计
  10. Linux常见指令大全