# 这是学习廖雪峰老师 python 教程的学习笔记
1, 概览
我们知道 Python 内置的求绝对值的函数是 abs()
- # 调用 abs() 函数可以获得一个值>>> abs(-10)
- 10
- # 那么, 只写 abs 本身呢
- >>> abs
- <built-in function abs>
可见, abs(-10) 是函数调用, 而 abs 是函数本身
1.1, 将函数赋给变量
将函数赋给变量只有两种情况:
把函数计算得到的 结果 赋给变量
f=abs(-10)
把 函数本身 赋给变量, 变量此时可以调用函数, 即变量可以指向函数
f=abs
1.2, 函数名也是变量
函数名其实就是指向函数的变量.
对于 abs() 这个函数, 可以把函数名 abs 看成变量. 这意味着, 可以用其他的值赋给 abs 这个变量
abs = 10
赋值过后. 再调用 abs 函数报错
注: 由于 abs 函数实际上是定义在 import builtins 模块中的, 所以要让修改 abs 变量的指向在其它模块也生效, 要用 import builtins; builtins.abs = 10
2, 例题
一个简单的高阶函数, 计算 abs(x)+abs(y)
- # -*- coding: utf-8 -*-
- def add(x, y, f):
- return f(x) + f(y)
- print(add(-5, 6, abs)) # 将 abs 函数 作为参数 传给了 add 函数
来源: http://www.bubuko.com/infodetail-2600321.html