python高阶函数(三分钟读懂)
python高阶函数(三分钟读懂)
函数式编程
Python中,函数是一等对象
一等对象:具有特点
① 对象是在运行时创建的
② 能赋值给变量或作为数据结构中的元素
③ 能作为参数传递
④ 能作为返回值返回
高阶函数
(符合一个即可)
① 接收一个或多个函数作为参数
② 将函数作为返回值返回
例一:
高阶函数(符合一个即可)① 接收一个或多个函数作为参数② 将函数作为返回值返回
a = [1,2,3,4,5,6,7,8,9,10]def fn2(i) :# 整除2的函数(方法)if i % 2 == 0 :return Truereturn False
def fn3(i):# 整除3的函数(方法)if i % 3 == 0:return True return False
# fn()函数可以将指定列表中的所有偶数获取出来,并保存到一个新列表中返回
def fn(fnx , ls) :new_list = [] # 创建一个新列表for n in ls : # 对列表进行筛选if fnx(n) : # 添加到新列表中new_list.append(n)return new_listprint(fn(fn2,a)) # 得到的结果为 [2, 4, 6, 8, 10]
# 当我们使用一个函数作为参数时,实际上是将指定的代码传递进了目标函数
例二:
高阶函数(符合一个即可)① 接收一个或多个函数作为参数② 将函数作为返回值返回
a = [1,2,3,4,5,6,7,8,9,10]
def fn2(i) :# 整除2的函数(方法)if i % 2 == 0 :return Truereturn False
b = filter(fn2, a)
print(b) # 得到的结果为<filter object at 0x02C93FD0> 这是一个可迭代的对象
print(list(b)) # 得到的结果为[2, 4, 6, 8, 10] 转换之后才可以看到
print(filter(fn2, a)) # 得到的结果为<filter object at 0x02C93EF8> 这是一个可迭代的对象
print(list(filter(fn2, a)))# 得到的结果为[2, 4, 6, 8, 10] 转换之后才可以看到# fn2是作为参数传递进filter()函数中
# 而fn2实际上只有一个作用,就是作为filter()的参数
'''
关于filter的说明
filter()
filter()可以从序列中过滤出符合条件的元素,保存到一个新的序列中
参数:(1.函数,根据该函数来过滤序列(可迭代的结构),2.需要过滤的序列(可迭代的结构))
返回值:过滤后的新序列(可迭代的结构)
'''
python高阶函数(三分钟读懂)相关推荐
- python四大高阶函数_详谈Python高阶函数与函数装饰器(推荐)
一.上节回顾 Python2与Python3字符编码问题,不管你是初学者还是已经对Python的项目了如指掌了,都会犯一些编码上面的错误.我在这里简单归纳Python3和Python2各自的区别. 首 ...
- 快速记忆python函数-【速学速记】Python 高阶函数
原标题:[速学速记]Python 高阶函数 前言: python 迅速发展壮大起来,多亏了人工智能,AI ,机器学习,深度学习的发展.所以小的给各位看官们准备了收藏已久的视频教程分享给大家!希望能带给 ...
- python高阶函数——sorted排序算法
python高阶函数--sorted排序算法 python 内置的sorted()函数可以对一个list进行排序: >>> sorted([8,3,8,11,-2]) [-2, 3, ...
- python高阶函数filter_python 高阶函数之filter
前文说到python高阶函数之map,相信大家对python中的高阶函数有所了解,此次继续分享python中的另一个高阶函数filter. 先看一下filter() 函数签名 >>> ...
- python高阶函数map_简单了解python高阶函数map/reduce
高阶函数map/reduce Python内建了map()和reduce()函数. 我们先看map.map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每 ...
- 三分钟读懂新一代人工智能——ChatGPT
2022年以来,AI开始在很多贴近消费者的领域发挥越来越大的作用,之前我写过一篇文章<一分钟学会AI绘画和创作>,很多朋友纷纷尝鲜. 最近一个月以来,OpenAI公司推出的智能机器人Cha ...
- 高阶函数-语法糖-lambda(三分钟读懂)
匿名函数 lambda 函数表达式 1.lambda函数表达式专门用来创建一些简单的函数,他是函数创建的又一种方式 2.语法:lambda 参数列表 : 返回值 3.匿名函数一般都是作为参数使用,其他 ...
- 廖雪峰讲python高阶函数求导公式_一文读懂Python 高阶函数
高阶函数 将函数作为参数传入,这样的函数称为高阶函数.函数式编程就是指这种高度抽象的编程范式. 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函 ...
- python中高阶函数和装饰器_三.Python高阶函数和装饰器
1高阶函数 1.1 数学概念回顾下数学知识: y=f(x) 这是最开始接触的普通函数 y=g(f(x)) 这个就是我们接触到的高阶函数 在数学和计算机科学中,高阶函数至少应当是满足下面一个条件的函数: ...
最新文章
- 寻找可用的机器学习算法
- c++观察者模式observer
- php date.php 源码,date | php教程|php源码|php学习
- Android缓存学习入门(二)
- zstd安装_在ARM架构服务器上编译Greenplum6并制作rpm安装包
- java重置输出窗口_java – 如何重置默认启动器/主屏幕替换?
- intellij 出现“Usage of API documented as @since 1.8+”的解决办法
- 小程序 · 引入企业微信中的「在小程序中加入群聊」插件
- 企业传播需要拥有的5个风险意识
- 计算机 蓝牙鼠标卡顿,Win10使用蓝牙鼠标老是卡顿的原因及解决方法
- vc 调用matlab figure 画图
- ionic安卓打印终极解决方案,支持USB打印
- Github上一个优秀的Python学习资源:AwesomePythonResource
- QQ邮箱导出的通讯录出现乱码怎么办?
- Fzu-2190 非提的救赎 (单调栈)
- 2021年茶艺师(中级)考试报名及茶艺师(中级)考试APP
- 9_1 法律法规标准化
- 加州伯克利计算机科学录取,全美TOP1-伯克利EECS录取驾到!
- 美丽联合集团赵成:要让员工看到自己的未来
- JavaScript框架比较:AngularJS vs ReactJS vs EmberJS
热门文章
- BayaiM__oracle切换归档模式步骤:
- cogs 2620. [HEOI2012]朋友圈
- 关于自动装箱和自动拆箱
- 第八章,作业(网络电视精灵)
- sublime text 3 package control
- android学习笔记---发送状态栏通知
- 请教关于 license.licx 不能转换成2进制文件!(c# 开发web应用程序)
- c语言的八进制规定要以0开始,2016年9月计算机二级《C语言》上机试题及答案
- css背景图充满整个屏幕
- Antd Upload 和 Antd Form 结合的踩坑记录