Python---高阶函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python---高阶函数相关的知识,希望对你有一定的参考价值。
# 高阶函数 # 变量可以指向函数 # 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码 print(abs(-10)) # 只写abs # 输出为:<built-in function abs> print(abs) # abs(-10)是函数调用,而abs是函数本身 # 要获得函数调用结果,我们可以把结果赋值给变量 x = abs(-10) print(x) # 把函数本身赋值给变量 f = abs print(f) # 函数本身也可以赋值给变量,即变量可以指向函数 # 如果一个变量指向了一个函数,那么可以通过变量来调用这个函数 f = abs print(f(-10)) # ------------------------------------------------------------ # 函数名也是变量 # 函数名其实就是指向函数的变量 # 对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数 # 如果把abs指向其它对象在调用,系统会报错: TypeError: ‘int‘ object is not callable # abs = 10 # print(abs(-10)) # 由于abs函数实际上是定义在import builtins模块中的,所以要修改abs变量的指向在其它模块中也生效,要用import builtins; builtins.abs=10 # ------------------------------------------------------------ # 传入函数 # 既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数 # 一个最简单的高阶函数 def add(x, y, f): return f(x) + f(y) print(‘add(-5, 6, abs):‘, add(-5, 6, abs)) # 编写高阶函数,就是让函数的参数能够接收别的函数 # 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式
以上是关于Python---高阶函数的主要内容,如果未能解决你的问题,请参考以下文章