Python编程基础:第五十二节 高阶函数High Order Functions
第五十二节 高阶函数High Order Functions
- 前言
- 实践
前言
高阶函数的使用包含两种情况,一种是将另一个函数作为参数,另一种是返回一个函数。
实践
我们先来讲解第一种情况,一个函数将另一个函数作为参数。我们这里先定义两个函数,分别将一个字符串中的字母全部大写/小写:
def Upper(text):return text.upper()def Lower(text):return text.lower()
然后我们定义一个函数,其将Upper
函数或Lower
函数作为参数,目的是给定一个字符串能调用这两个函数执行操作:
def Hello(func, text):text = func(text)return text
可见我们的Hello
函数有两个参数,一个是func
用于指定调用哪个函数进行字符串转换,另一个是text
用于指定被作用文本:
print(Hello(Lower, "Hello"))
>>> hello
可见字符串中的字母全部被小写了,此时我们将函数Hello
称为高阶函数。
我们接下来介绍另一种情况,即返回一个函数,我们这里以加法计算为例作为说明:
def Calculate(number1):number1 += 5def Sum(number2):return number1 + number2return Sum
可见,Calculate
函数会先对传入参数加5,然后返回函数Sum
。我们如何调用这种高阶函数呢?第一种方式是:
print(Calculate(1)(2))
>>> 8
也即将要传入的参数依次排列,把每一个函数的参数用括号包起来即可,第二种方式是:
func = Calculate(1)
print(func(2))
>>> 8
也即先调用Calculate
函数,返回Sum
函数,再给Sum
函数传参得到最终的计算结果。
以上便是高阶函数的全部内容,感谢大家的收藏、点赞、评论。我们下一节将介绍匿名函数(Lambda Function),敬请期待~
Python编程基础:第五十二节 高阶函数High Order Functions相关推荐
- python基础之常用的高阶函数
前言 高阶函数指的是能接收函数作为参数的函数或类:python中有一些内置的高阶函数,在某些场合使用可以提高代码的效率. map() map函数可以把一个迭代对象转换成另一个可迭代对象,不过在pyth ...
- python order函数_Python进阶内容(一)--- 高阶函数 High order function
0. 问题 # 本文将围绕这段代码进行Python中高阶函数相关内容的讲解 # 文中所有代码的兼容性要求为:Python 3.6,IPython 6.1.0 def addspam(fn): def ...
- 一文看懂Python(八)-----内置高阶函数用法总结
函数是Python的核心内容之一,能够提高代码的重复利用率.为了更好的使用函数,有必要了解函数的一些高级用法. Python内置了三个高阶函数:所谓高阶函数就是以函数作为参数,或者返回一个函数的函数, ...
- Python函数式编程简介(一)高阶函数
本文概括介绍Python函数式编程的一些概念及用法,详细请参考: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df ...
- python 惰性序列_菜鸟学飞自学Python(五)高阶函数
(仅个人学习摘抄) 函数式编程 函数式编程就是一种抽象程度很高的编程范式,特点是允许把函数本身作为参数传入到另一个函数,还允许返回一个函数. 高阶函数 高阶函数--Higher-order funct ...
- python编程入门电子书-Python编程基础 PDF 原书高质量版
给大家带来的一篇关于Python入门相关的电子书资源,介绍了关于Python编程基础.Python编程教程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小6 MB,张健 张良均编写,目前 ...
- Python学习笔记__4.1章 高阶函数
# 这是学习廖雪峰老师python教程的学习笔记 1.概览 我们知道Python内置的求绝对值的函数是abs() # 调用abs()函数可以获得一个值 >>> abs(-10) 10 ...
- 初学者python笔记(装饰器、高阶函数、闭包)
一个函数被定义完成后,甚至程序发布后,后期可能需要添加某些功能,但是我们不可能每次都去修改原函数的代码,这时候装饰器就可以上场了,本篇文章将会用一个个可实现的代码,由浅入深.循序渐进得阐述装饰器的强大 ...
- Python编程基础:第二十二节 关键字参数Keyword Argument
第二十二节 关键字参数Keyword Argument 前言 实践 前言 我们在调用函数的时候需要根据参数的顺序指定每一个参数的取值,如果我们函数中参数非常多,此时按照顺序指定每一个参数的赋值方式将导 ...
最新文章
- php 5.2 模块路径,5.2 模块和操作
- 二维已经 OUT 了?3DPose 实现三维人体姿态识别真香 | 代码干货
- Winmail邮件服务器
- 我在全球最大的同性社交平台那点事
- MIT新研究:算法比硬件更有用
- ocp认证考试指南第一章
- 多层交换综合实验(二)
- Busybox中httpd、ftpd、telnetd、tftpd、ntpd的用法
- 部署https后访问提存在安全隐患NET::ERR_SSL_OBSOLETE_VERSION
- 「docker实战篇」python的docker爬虫技术-安卓模拟器(二)
- iconfont多色图标的使用方法
- Java中的Hash Code到底是什么?
- Spring+SpringMVC+Mybatis分布式敏捷开发系统架构(附源码)
- Time-wait状态(2MSL)一些理解
- java实现音乐播放功能
- CGLIB对类做动态代理时,无法拦截static修饰的方法和final修饰的方法
- 【论文笔记 · RL】Learning Phase Competition for Traffic Signal Control
- 单丝不成线,独木不成林
- 多用户服务器程序设计(详解)
- std::complex类conj
热门文章
- jupyter notebook报错:ImportError: cannot import name ‘Imputer‘ from ‘sklearn.preprocessing‘解决方法
- html页面如何循环遍历,遍历foreach循环中的HTML DOM元素
- C++中的Lambda表达式详解
- linux下源码安装vim,ubuntu 源码编译安装最新的vim 8.0
- 易语言开发c s,Grid++Report报表工具C/S实战项目演练
- java 对象初始化属性,JAVA中类属性的初始化
- Android中的基础控件CheckBox、RadioButton、ToggleButton、SeekBar
- 51单片机的中断系统
- ios android 内存不足,怎样解决手机内存不足?iOS系统可以试试这些方法
- python construct 字符串_通过字符串变量在Python中设置和获取@property方法