Python编程 匿名函数,高阶函数

news/2024/12/11 22:33:36/

  • 作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

 前言

一.匿名函数

1.匿名函数介绍

匿名函数应用

匿名函数作返回值

匿名函数作实参

例子

高阶函数


 前言

本章将会讲解Python编程中的匿名函数.了解用法。


一.匿名函数

1.匿名函数介绍

匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。

在python中,不通过def来声明函数名字,而是通过 lambda 关键字来定义的函数称为匿名函数。

lambda函数能接收任何数量(可以是0个)的参数,但只能返回一个表达式的值,lambda函数是一个函数对象,直接赋值给一个变量,这个变量就成了一个函数对象。

语法lambda x:x*x
自定义函数def f(x):return x * xprint(f(3))lambda 形参:返回值f = lambda x, y: x * yprint(f(2, 5))from functools import reduceprint(reduce(lambda x, y: x*y, range(1,7)))

匿名函数应用

匿名函数作返回值

 

 # 匿名函数作为返回值def fx(i, j):# 返回的匿名函数return lambda :i*jf = fx(6, 6)    # lambda :i*j
print(f())      # 函数只有在调用时才会执行

匿名函数作实参

 

 匿名函数作为实参def test(a, b, func):res = func(a, b)    # 11 + 22return resnums = test(11, 22, lambda x,y:x+y)print(nums)

例子

将 lis = [4,-2,3,1] --> [1,-2,3,4]
infors = [{'name':'qian' , 'age':28},{'name':'amy' , 'age':20},{'name':j
ames' , 'age':25}]
以name对应的值进行排序
[4,-2,3,1] --> [1,-2,3,4]
# [4,2,3,1] --> [1,2,3,4] --> [1,-2,3,4]
li = [4, -2, 3, 1]# key:指定排序规则,排序之后返回原元素
li.sort(key=abs)
print(li)

高阶函数

高阶函数的概念

高阶函数的英文名叫 Higher-Order Function.

高阶函数需满足以下二个条件:

  1. 本身是一个函数
  2. 参数是函数

定义:一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数

高阶函数需满足条件:
函数名 作为 参数传入
函数名 作为 返回值

  创作不易,求关注,点赞,收藏,谢谢~ 


http://www.ppmy.cn/news/7772.html

相关文章

大数据系列——什么是Flink?Flink有什么用途?

目录 一、基本概念 批与流 数据可以作为无界流或有界流处理 二、什么是Flink? 三、Flink有什么用途? 四、适用场景 五、flink事件驱动 六、flink拥有分层API flink sql 七、fllink企业级使用 一、基本概念 批与流 批处理的特点是有界、持久、大…

学习C语言笔记:数据和C

C Primer Plus (第6版)中文版第3章 学习内容: 1.关键字——int、short、long、unsigned、char、float、double、_Bool、_Complex、_Imaginary; 2.运算符——sizeof(); 3.函数——scanf(); 4.整数类型和浮点数类型的区别; 5.如何书写整型和浮点…

Cookie和Session的区别

💟💟前言 ​ 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 Cookie和Session的区别 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄 小王的主页…

【JavaScript】26_高阶函数(回调函数)

目前我们的函数只能过滤出数组中age属性小于18的对象, 我们希望过滤更加灵活: 比如:过滤数组中age大于18的对象 age大于60的对象 age大于n的对象 过滤数组中name为xxx的对象 过滤数组中的偶数 … 一个函数的参数也可以是函数&#xf…

RK3588平台开发系列讲解(Display篇)开机视频的设置

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、开机视频功能介绍二、使用方法2.1、开启与关闭2.2、视频放置位置2.3、编译结果2.4、视频素材要求2.5、参数控制说明沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍RK3588平台开机视频的使用方法…

计算1到n的和(不用循环且逐步限制条件)

目录 一、题目简单描述 二、递归实现 1、if…else… 2、三目运算符 ?: 3、逻辑与操作符 && 三、公式实现 四、C调用构造函数累加法 注:满足题目要求的解法有递归实现的第三种、公式实现、C调用构造函数累加法三种方法、 一、题目简…

物联网终端的防护体系

针对漏洞的恶意行为分析 我们共捕获到 4 种针对 UPnP 漏洞的利用行为 1,如表 4.7 所示。从中可以看出,这些漏洞均为远程 命令执行类漏洞。另外我们也发现,当漏洞出现在特定端口时,攻击者一般不会经过 UPnP 的发现阶段&#xff0c…

mysql-JDBCDruid基本使用方法

JDBC 今日目标 掌握JDBC的的CRUD理解JDBC中各个对象的作用掌握Druid的使用 1,JDBC概述 在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据。 1.1 JDBC概念 JDBC 就是使用Java语言操作关系型数据库的一套API 全称:( …