Python的函数的一些高阶特性
以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码:但是,如果只写abs呢?可见,abs(-10)是函数调用,而abs是函数本身。说明变量f现在已经指向了abs函数本身。对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数!如果把abs指向其他对象,会有什么情况发生?要恢复abs函数,请重启Python交互环境。注:由于abs函数实际上是定义在__builtin__模块中的,所以要让修改abs变量的指向在其它模块也生效,要用__builtin__.abs = 10。把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。