高阶函数--python

news/2024/11/6 3:29:29 标签: python

高阶函数应当满足至少下面一个条件:

接受一个或多个函数参数

输出一个函数

下面用一个例子来理解高阶函数。

一、高阶函数

先看一个简单的函数

例一:

例二:

是高阶函数,因为满足条件,返回一个函数

并且有闭包,在内层函数inc中调用了外层counter函数中的形参base。

再来看下面一个问题

为什么?

==是值内容相等,而f1是counter函数指向的函数对象,inc标识符岁函数调用而消亡,但inc内部所指的对象没有消亡,被f1记住了,f2同理,如果使用了==,因为在对象上是不能进行比较的,且f1和f2所处的内存空间位置不一样。所以f1 is f2是False ,f1==f2也是false。

二、sorted原理

仿照内建函数sorted,执行实现sort函数(不能使用内建函数),且能够为列表元素排序。

使用reverse控制升序和降序,使用key设置一个用于比较的函数。

思路:新建一个列表,遍历原列表,和新列表中的值依次对比,决定带插入数插入到新列表什么位置。

完整代码

三、filter过滤

filter(function,iterable)

对可迭代对象遍历,返回一个迭代器

function是一个参数的函数,且返回应当是bool类型,或返回其等效布尔值

function如果是None,可迭代对象每一个元素自身等效布尔值

如:

四、map映射

map(function,*iterable)

对多个可迭代元素按照指定的函数进行映射

返回一个迭代器


http://www.niftyadmin.cn/n/5740114.html

相关文章

Python self

在Python中,self 不是类本身,而是类的实例对象本身。当你定义一个实例方法时,Python 会自动将调用该方法的实例对象作为第一个参数传递给这个方法,按照惯例,这个参数被命名为 self。 这里有一个简单的例子来说明 self…

【自用】fastapi 学习记录 --请求和参数部分

fastai个人学习笔记 一、模块化结构框架 设置了默认请求头shop之后就无需再app0x里接口函数前全部写上/shop/xxx,或者/user/xxx,他会同意添加~如果都写了就会出现以下的情况(重复shop): 二、请求与响应 关于参数&a…

2024年专业的10款数据恢复工具你都用过哪些?

数据丢失是很多人在生活中都会出现的问题,但想真多情况下都不是什么难题。因为有很多的数据恢复软件可以进行数据恢复。于是我根据工具的恢复成功率, 工具的兼容性、易用性以及恢复数据的种类和安全性这些因素,在网上搜罗了一些好用的数据恢复…

计算机网络 TCP/IP体系 数据链路层

一. 数据链路层的基本概念 数据链路层主要负责节点之间的通信,确保从物理层接收到的数据能够准确无误地传输到网络层。 数据链路层使用的信道主要有以下两种类型: 点对点信道: 这种信道使用一对一的点对点通信方式。广播信道: 这种信道使用一对多的广播通信方式,…

若依系统前端项目解读——从使用过程解读

登录系统 用户初次登录,浏览器中未存用户信息(token),需向后端请求并保存至浏览器中用户再次登录系统,向后端发请求会携带token在请求头中,并与后端Redis缓存的token比较,判断token是否还在有效…

uniapp在js方法中,获取当前用户的uid(uni-id-user)表中的用户id

// 1.判断当前用的权限 let uid uniCloud.getCurrentUserInfo().uid //获取当前用户的uid // 用户uid等于发布者id或者用户权限等于admin或者用户角色等于webmaster if (uid this.item.user_id[0]._id || this.uniIDHasRole…

只允许指定ip远程连接ssh

我们都会使用securtcrt或者xshell等软件进行远程登录,这样虽然会给我们带来很多便捷,但是同样会存在一定的风险。有很多人专门通过重复的扫描试图破解我们的linux服务器,从而获取免费的“肉鸡”。因此我们可以通过设置hosts.allow和hosts.den…

一个最简单的网络编程

今天总结一下,我至今学的第一个网络编程,也是一个最简单的网络编程。 这篇博客只是将如何用代码实现一个网络编程,具体细节不讲解,后续会介绍详细细节。 网络编程会涉及到客户端和服务器的实现。 1.服务器的实现 首先&#xf…