python 一篇文章带你了解高阶函数

一篇文章带你搞懂Python中的类 前言 今天我们要说的是面向对象的核心-----类,类能帮我们把复杂的事情变得有条理,有顺序,希望大家通过学习类能改善自己的编码风格,使代码变得更为好看,更加通俗易懂。 1.类的用法 一、什么是类 类(class),作为代码的父亲,可以说它包裹了很多有趣的函数和方法以及变量,下面我们试着简单创建一个吧。 这样就算创建了我们的第一个类了。大家可以看到这里面有一个self,其实它指的就是类aa的实例。每个类中的函数只要你不是类函数或者静态函数你都得加上这个self,当然你也可以用其他的代替这个. 阅读详情

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


在 Python 中,高阶函数(Higher-Order Function) 是指:

接受一个或多个函数作为参数;

或者返回一个函数作为结果;

有时两者兼具。

高阶函数是函数式编程的重要概念之一,它可以帮助我们写出更简洁、可复用性更高的代码。Python 内置了许多高阶函数,如 map()、filter()、sorted()、reduce() 等,同时你也可以自己定义高阶函数。

✅ 一、什么是高阶函数?

示例1:将函数作为参数传入

def apply_func(fn, x):
    return fn(x)
def square(n):
    return n * n
result = apply_func(square, 5)
print(result)  # 输出: 25

在这个例子中:

apply_func 是一个高阶函数,因为它接收另一个函数 fn 作为参数。

square 是被传入的普通函数。

示例2:函数返回函数​​​​​​​

def make_multiplier(n):
    def multiplier(x):
        return x * n
    return multiplier
double = make_multiplier(2)
triple = make_multiplier(3)
print(double(5))   # 输出: 10
print(triple(5))   # 输出: 15

这个例子中的 make_multiplier 是一个闭包函数,也是一个高阶函数,因为它返回了一个函数。

✅ 二、常见的内置高阶函数

1. map(function, iterable)

对可迭代对象中的每个元素应用函数,并返回一个新的迭代器。​​​​​​​

numbers = [1, 2, 3, 4]
squared = map(lambda x: x ** 2, numbers)
print(list(squared))  # 输出: [1, 4, 9, 16]

2. filter(function, iterable)

过滤掉不满足条件的元素,保留满足条件的元素。​​​​​​​

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))  # 输出: [2, 4, 6]

3. sorted(iterable, key=None, reverse=False)

根据指定规则排序。​​​​​​​

names = ["Alice", "Bob", "Charlie"]
sorted_names = sorted(names, key=lambda name: len(name))
print(sorted_names)  # 按长度排序: ['Bob', 'Alice', 'Charlie']

4. reduce(function, iterable[, initializer])

连续应用函数,把可迭代对象“归约”为一个值。需要从 functools 导入。​​​​​​​

from functools import reduce
numbers = [1, 2, 3, 4]
sum_result = reduce(lambda x, y: x + y, numbers)
print(sum_result)  # 输出: 10‍

✅ 三、自定义高阶函数

你可以自己编写高阶函数来封装一些通用逻辑。

示例:通用计算函数​​​​​​​

def compute(operation):
    def calculator(a, b):
        return operation(a, b)
    return calculator
add = compute(lambda a, b: a + b)
multiply = compute(lambda a, b: a * b)
print(add(3, 4))       # 输出: 7
print(multiply(3, 4))  # 输出: 12‍

✅ 四、结合 lambda 使用高阶函数

lambda 表达式非常适合与高阶函数一起使用,可以简化代码。​​​​​​​

# 计算每个数的平方根
import math
nums = [4, 9, 16, 25]
roots = list(map(lambda x: math.sqrt(x), nums))
print(roots)  # 输出: [2.0, 3.0, 4.0, 5.0]
# 找出大于10的数
greater_than_10 = list(filter(lambda x: x > 10, nums))
print(greater_than_10)  # 输出: []‍

✅ 五、高阶函数的优势

✅ 六、总结表格

✅ 七、进阶学习建议

学习更多函数式编程技巧(如柯里化、偏函数等)

结合 itertools 和 functools 模块增强处理能力

尝试使用装饰器(也是一种高阶函数)

在实际项目中尝试用高阶函数替代传统循环结构‍

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​

一篇文章带你了解——Python数据结构的底层实现 本文介绍了Python中常用的基础序列类型、映射类型和集合类型的底层实现与核心特性。序列类型包括动态数组实现的列表、静态数组实现的元组以及支持多编码的字符串;映射类型涵盖哈希表实现的字典、带默认值的defaultdict、计数专用的Counter、多映射合并的ChainMap和维护插入顺序的OrderedDict;集合类型则包含基于哈希表实现的set和不可变的frozenset。每种类型均从存储结构、内存布局、时间复杂度和适用场景等维度进行解析,并辅以关键C结构体定义说明实现细节。这些底层机制决定了不同数据 阅读详情

相关推荐

实战解析:从Innovus到Calibre的LVS错误排查全流程

本文详细解析了从Innovus到Calibre的LVS错误排查全流程,涵盖物理验证关键步骤与工具链协同。通过实战案例分享,重点解决器件不匹配、连接性错误等常见问题,并提供GDS导出规范、网表修正策略等实用技巧,帮助工程师高效完成芯片设计物理验证。

9o8p7i6u5y的博客 1035

一篇文章带你了解Python高阶函数

点击上方“Go语言进阶学习”,进行关注回复“Go语言”即可获赠从入门到进阶共10本电子书今日鸡汤远芳侵古道,晴翠接荒城。一、什么是高阶函数?高阶函数是在Python中一个非常有用的功能函数...

pdcfighting的博客 155

Unity游戏开发客户端C#基础

初级Unity客户端开发工程师 面经 之 C#篇

Sea3752的博客 2万+

python中的高阶函数

@ 1 什么是高阶函数? 只要满足下面的任意一个条件就是高阶函数 1、一个函数的函数名作为参数传给另外一个函数 2、一个函数返回值(return)为另外一个函数(返回为自己,则为递归) 下面分别举例详细说明: 1.1 高阶函数:一个函数的函数名作为参数传给另外一个函数 def func(): print("定义一个普通函数") def high_level(func): ...

求真、务实 1万+

【TC3xx芯片】TC3xx芯片电源管理系统PMS详解

本文主要介绍了TC3xx芯片的电源管理系统(PMS),重点探讨了供电模式选择、电源监控机制及电源管理模式。文章首先分析了4种供电模式及其硬件配置方式,详细说明了3.3V单电源供电模式的特点;其次阐述了Primary和Secondary两种电源监控机制,包括阈值配置和异常中断处理;最后重点讲解了CPU和系统的电源管理模式,特别对Standby模式及其进入/退出条件进行了详细说明。文章以软件开发视角解析了TC3xx芯片的电源管理功能,为ECU低功耗设计提供了技术参考。

redparrot2008的博客 1526

第零章 序 Chisel教程汇总

笔者目前西安交通大学微电子硕士在读,研究方向为数字集成电路设计与体系结构。鉴于目前RISC-V的火热程度,笔者参与了课题组的RISC-V项目,并了解、学习了颇受关注的新型硬件构建语言——Chisel,当前参与的神经网络加速器设计便是使用Chisel开发的。这是一门敏捷开发语言,据称要比传统的Verilog语言快很多。在亲身使用过后,笔者发现确实快了不少。这主要得益于Scala作为高级语言的简洁风格...

qq_34291505的博客 7万+

Python是什么?一篇文章带你全面了解python

Python可以说是现在最热门的程序语言,拥有超高的人气。随着大数据分析的火热,人工智能的追捧, 已经成为最受欢迎的程序设计语言之一。

xx16755498986的博客 5403

Tesseract OCR 字库训练教程:提高识别率进阶版

通过 Tesseract 字库训练,你可以提高 OCR 对特定文本或字体的识别能力。训练过程包括准备训练数据、生成标签文件、运行训练工具,以及将训练结果集成到实际项目中。虽然训练过程需要一些时间和精力,但对于需要高精度文本识别的场景来说,字库训练是非常有效的提升识别率的方法。

小蜗牛的珍贵百宝箱 1865

一篇文章带你了解人工智能

系列文章目录 一篇文章带你了解人工智能 文章目录系列文章目录前言一、生活中常见的人工智能应用二、人工智能概念的诞生三、人工智能的三个层面四、现阶段实现AI的基本方法及技术领域从技术应用场景的技术展开:从实现AI的技术工具和方法论展开:五、常见的术语六、人工智能于各产业的渗透(举例)七、学习人工智能总结 前言 计蒙在深圳2019年底接触过一个深度学习的产品研发,由此也有试着切入这个行业的想法,再次回学校生活后,恰巧安排的课程也有python的基础课。 2020年的时候也写过一篇偏概念的文章:人脸识别简单

计蒙不吃鱼的博客 3502

西安电子科技大学841学长经验分享(总成绩第三名)

西安电子科技大学841学长经验分享(总成绩第三名)

qq_30953547的博客 1082

YOLOv8安防监控实战:跌倒/闯入/徘徊实时检测(附TensorRT加速+声光报警部署代码)

精准性:针对跌倒/闯入/徘徊的行为特征优化,准确率达89.3%,误报率低于5次/天;实时性:TensorRT加速到50+FPS,报警延迟<1秒,满足安防“黄金响应时间”;低成本:无需专用AI芯片,RTX 3060或Jetson Orin就能跑,硬件成本比传统方案低60%;易部署:代码全开源,提供从模型训练到硬件联动的完整流程,2天即可搭起原型系统。如果你的安防监控还在“漏报误报”“响应慢”,建议先从跌倒检测的姿态过滤改起——用100张样本测试,再集成TensorRT加速,90%能看到明显改善。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 679

快速带你了解Python高阶函数

文章目录前言高阶函数简单理解1、lambda()2、map()3、reduce()4、filter() 前言 高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。 高阶函数简单理解 提起abs相信大家都不会陌生,无论是在C、java或者其他语言中,相信大家或多或少都用过、见过,在python语言中,abs()是它的内置函数,用来求一个数值的绝对值 print(abs(-2)) abs是这个函数的名称,但加上**()**才能

Code皮皮虾的博客 748

Superpowers与 OpenSpec、Spec Kit 对比

按照官方仓库定义,Superpowers 是一套构建在 composable skills 之上的完整软件开发工作流。它不是单纯的 prompt 集合,而是把一系列工程动作做成默认流程。一个需要明确的点:Superpowers 并不只偏 Claude Code,根据。

人不风流枉少年 1813

Python 中文叫啥?一篇文章带你深入了解

摘要:Python中文名为"蟒蛇"或"派森",是一门简洁易读的解释型编程语言,具有动态类型和丰富的库支持。其应用领域广泛,包括Web开发、数据分析、人工智能等。作为入门友好的语言,Python适合编程新手学习,专业平台如编程狮提供从基础到进阶的系统教程。

爱编程的鱼的博客 1685

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Python是什么?一篇文章带你全面了解Python

Python是一种计算机程序设计语言。 你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Java语言等,Python是他们其中的一种。...

BeWorkingMan的博客 5658

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

十篇文章带你成为Python大佬!!【推荐收藏】

十篇文章带你成为Python大佬!!【推荐收藏】1. 关于回答粉丝们的问题2. 学了Python可以做啥?3. 该怎么学习Python呢?4. 文章地址5. 结束语 1. 关于回答粉丝们的问题 很多粉丝私信问我很多关于Python的问题,由于问题有点多并且我认为很多问题很符合大部分人的现状,因此我仅代表我个人意见给出我的回答。 问题1️⃣: 我现在是大三学习Python来得及吗? 我的回答: Python的语法相对于其他编程语言来说比较简单,所以如果你肯认真花时间学习,大概一个月就可以学会基础语法和常见库的

Jack·Kwok的博客 4284

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

什么是Python爬虫?一篇文章带你全面了解爬虫

爬虫,又名“网络爬虫”,就是能够自动访问互联网并将网站内容下载下来的程序。它也是搜索引擎的基础,像百度和GOOGLE都是凭借强大的网络爬虫,来检索海量的互联网信息的然后存储到云端,为网友提供优质的搜索服务的。

weixin_72959097的博客 5078

一篇文章带你了解Python

Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,作为一门叫作ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

weixin_73993191的博客 229

一篇文章带你了解Python中的装饰器

1.1 何为Python中的装饰器?装饰器是一种特殊的函数,它可以接受一个函数作为参数,并返回一个新的函数。装饰器可以用来修改或增强函数的行为,而不需要修改函数本身的代码。在Python中,装饰器通常用于实现AOP(面向切面编程),例如日志记录、性能分析、缓存等。装饰器的语法使用@符号,将装饰器函数放在被装饰函数的定义之前学过设计模式的朋友都知道,设计模式的结构型模式中也有一个叫装饰器模式,那这个和Python中的装饰器有什么不同呢?

kyriez7的博客 1652

Python开发入门之了解Python高阶函数

函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数!高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。如果一个变量指向了一个函数,那么,可否通过该变量来调用这个函数?

xuezhangmen的博客 503

一篇文章带你了解Django

Django manage.py 创建项目 django-admin startproject name 启动服务 python manage.py runserver 127.0.0.1:8000 # 以 127.0.0.1:8000,为地址启动服务 创建 app python manage.py startapp appname 映射现有表到数据库 python manage.py makemigrations name # 创建迁移文件 python

weixin_44811751的博客 1288

【Python进阶】一篇文章带你了解Python中的匿名函数,看完之后你就知道如何使用了!!!

arguments是传递给函数的参数,它们可以是位置参数、关键字参数,甚至是参数列表和字典。但是,请注意,lambda函数只能有一个表达式,并且这个表达式的计算结果会被自动返回。expression是一个关于参数的表达式,其计算结果就是函数的返回值。

2401_87000634的博客 1023
上一篇: 【招聘专场】成为技术变革的推动者,滴滴测试开发专家岗位热招中!
下一篇: Linux 磁盘打爆了,如何排查?
字节自动化测试
博客等级 码龄6年 7034粉丝 1810原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值