《Python语言程序设计》 —3.5.2 高阶函数

举报
华章计算机 发表于 2019/11/18 21:12:06 2019/11/18
【摘要】 本节书摘来自华章计算机《Python语言程序设计》一书中第3章,第3.5.2节,作者是王恺 王志 李涛 朱洪文。

3.5.2 高阶函数

高阶函数是指把函数作为参数的一种函数。例如,我们定义一个函数FunAdd,其功能是先用函数f对两个数据x和y进行处理,再进行求和运算,即实现f(x)+f(y),参见代码清单3-29。

代码清单3-29 高阶函数示例

1    def FunAdd(f,x,y): #定义函数FunAdd

2        return f(x)+f(y) #用传给f的函数先对x和y分别处理后,再求和并返回

3    def Square(x): #定义函数Square

4        return x**2 #返回x的平方

5    def Cube(x): #定义函数Cube

6        return x**3 #返回x的立方

7    print(FunAdd(Square,3,-5)) #调用函数FunAdd,计算32+(-5)2

8    print(FunAdd(Cube,3,-5)) #调用函数FunAdd,计算33+(-5)3

程序执行完毕后,将在屏幕上输出如下结果:

34

-98

提示 在代码清单3-29中,执行第7行代码时将Square函数作为实参传给了FunAdd函数的形参f,此时在FunAdd函数中调用f(x)和f(y)相当于调用Square(x)和Square(y);执行第8行代码时将Cube函数作为实参传给了FunAdd函数的形参f,此时在FunAdd函数中调用f(x)和f(y)就相当于调用Cube(x)和Cube(y)。

函数不仅可以赋给形参,也可以赋给普通变量。赋值后,即可以用变量名替代函数名完成函数调用。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。