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高阶函数(三分钟读懂)相关推荐

  1. python四大高阶函数_详谈Python高阶函数与函数装饰器(推荐)

    一.上节回顾 Python2与Python3字符编码问题,不管你是初学者还是已经对Python的项目了如指掌了,都会犯一些编码上面的错误.我在这里简单归纳Python3和Python2各自的区别. 首 ...

  2. 快速记忆python函数-【速学速记】Python 高阶函数

    原标题:[速学速记]Python 高阶函数 前言: python 迅速发展壮大起来,多亏了人工智能,AI ,机器学习,深度学习的发展.所以小的给各位看官们准备了收藏已久的视频教程分享给大家!希望能带给 ...

  3. python高阶函数——sorted排序算法

    python高阶函数--sorted排序算法 python 内置的sorted()函数可以对一个list进行排序: >>> sorted([8,3,8,11,-2]) [-2, 3, ...

  4. python高阶函数filter_python 高阶函数之filter

    前文说到python高阶函数之map,相信大家对python中的高阶函数有所了解,此次继续分享python中的另一个高阶函数filter. 先看一下filter() 函数签名 >>> ...

  5. python高阶函数map_简单了解python高阶函数map/reduce

    高阶函数map/reduce Python内建了map()和reduce()函数. 我们先看map.map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每 ...

  6. 三分钟读懂新一代人工智能——ChatGPT

    2022年以来,AI开始在很多贴近消费者的领域发挥越来越大的作用,之前我写过一篇文章<一分钟学会AI绘画和创作>,很多朋友纷纷尝鲜. 最近一个月以来,OpenAI公司推出的智能机器人Cha ...

  7. 高阶函数-语法糖-lambda(三分钟读懂)

    匿名函数 lambda 函数表达式 1.lambda函数表达式专门用来创建一些简单的函数,他是函数创建的又一种方式 2.语法:lambda 参数列表 : 返回值 3.匿名函数一般都是作为参数使用,其他 ...

  8. 廖雪峰讲python高阶函数求导公式_一文读懂Python 高阶函数

    高阶函数 将函数作为参数传入,这样的函数称为高阶函数.函数式编程就是指这种高度抽象的编程范式. 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函 ...

  9. python中高阶函数和装饰器_三.Python高阶函数和装饰器

    1高阶函数 1.1 数学概念回顾下数学知识: y=f(x) 这是最开始接触的普通函数 y=g(f(x)) 这个就是我们接触到的高阶函数 在数学和计算机科学中,高阶函数至少应当是满足下面一个条件的函数: ...

最新文章

  1. 寻找可用的机器学习算法
  2. c++观察者模式observer
  3. php date.php 源码,date | php教程|php源码|php学习
  4. Android缓存学习入门(二)
  5. zstd安装_在ARM架构服务器上编译Greenplum6并制作rpm安装包
  6. java重置输出窗口_java – 如何重置默认启动器/主屏幕替换?
  7. intellij 出现“Usage of API documented as @since 1.8+”的解决办法
  8. 小程序 · 引入企业微信中的「在小程序中加入群聊」插件
  9. 企业传播需要拥有的5个风险意识
  10. 计算机 蓝牙鼠标卡顿,Win10使用蓝牙鼠标老是卡顿的原因及解决方法
  11. vc 调用matlab figure 画图
  12. ionic安卓打印终极解决方案,支持USB打印
  13. Github上一个优秀的Python学习资源:AwesomePythonResource
  14. QQ邮箱导出的通讯录出现乱码怎么办?
  15. Fzu-2190 非提的救赎 (单调栈)
  16. 2021年茶艺师(中级)考试报名及茶艺师(中级)考试APP
  17. 9_1 法律法规标准化
  18. 加州伯克利计算机科学录取,全美TOP1-伯克利EECS录取驾到!
  19. 美丽联合集团赵成:要让员工看到自己的未来
  20. JavaScript框架比较:AngularJS vs ReactJS vs EmberJS

热门文章

  1. BayaiM__oracle切换归档模式步骤:
  2. cogs 2620. [HEOI2012]朋友圈
  3. 关于自动装箱和自动拆箱
  4. 第八章,作业(网络电视精灵)
  5. sublime text 3 package control
  6. android学习笔记---发送状态栏通知
  7. 请教关于 license.licx 不能转换成2进制文件!(c# 开发web应用程序)
  8. c语言的八进制规定要以0开始,2016年9月计算机二级《C语言》上机试题及答案
  9. css背景图充满整个屏幕
  10. Antd Upload 和 Antd Form 结合的踩坑记录