sorted、返回函数、匿名函数、装饰器、偏函数
1.sorted()排序方法,它可已经一个列表按照升序排序,也可以按照反序排序
1)如果要进行反序排序时,需要在函数里面设置reverse = True
2)sorted是一个高阶函数,它接受函数作为参数,还可以通过key函数来实现自定义的排序,根据key函数来设置一些功能的实现
key函数写在数据类型的后面
2.返回函数
1)返回函数是将函数作为返回值的函数
在求一个函数时,如果我们不需要立刻返回结果值,我们可以定义一个函数将之作为另外一个函数的返回值,当运行返回的函数时,才会
将值输出
2)当一个函数作为另外一个函数的返回值时,内部函数可以调用外部函数的参数和局部变量,当外部函数返回内部函数时,
参数和局部变量还会保存在返回函数中,这称之为“闭包”
3)注意:返回函数不要引用任何循环变量,,或者后续会发生变化的变量,不然每次返回的值都相同
3.匿名函数:lambada就是匿名函数,他会简化函数的使用,匿名函数没有return关键字
1)当函数的参数时一个时,需要将函数的参数指出,不然会报错
例如:求x^2lambda x:x*x
2)当参数时另个时,就不需要指出参数,但也可以指出参数
例如:lambada x*x+y*y或者lambda x,y:x*x+y*y
3)匿名函数一般用于比较简单的函数,复杂的函数现在无法实现
4.装饰器(decorator)是一个返回函数的高阶函数,它是一种运行期间增加功能的函数,但不修改内部的函数的高阶函数
1)通过functools 包里面的wraps模块会自动补充完整函数的属性
2)在Python中可以通过函数实现装饰器,还可以通过类来实现装饰器
5.偏函数就是创建一种函数帮我们固定住函数的参数,来简化函数的实现
1)functools.partial()函数就是Python帮我们创建的一个偏函数,作用就是将原函数的某些参数固定,返回我们所学的一个新函数
2)偏函数functools.partial()函数接受*args可变参数和dict**kw键值对,一般在对数据类型进行计算时,将*args自动加入到数据类型左边
sorted、返回函数、匿名函数、装饰器、偏函数的更多相关文章
- Python复习笔记(四)高阶函数/返回函数/匿名函数/偏函数/装饰器
一.map/reduce map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次 作用到序列的每个元素,并把结果作为新的Iterator返回. reduce r ...
- Learning Python 012 函数式编程 2 返回函数 匿名函数 装饰器 偏函数
Python 函数式编程 2 返回函数 返回函数的意思就是:函数作为返回值.(高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回.) 举个例子:实现一个可变参数的求和. 正常的函数: de ...
- Day4 内置函数补充、装饰器
li = [11,22,33,44]def f1(arg): arg.append(55)#函数默认返回值None,函数参数传递的是引用li = f1(li) print(li) 内置函数补充: ...
- 第四天 内置函数2 随机码 装饰器 迭代器、生成器 递归 冒泡算法 JSON
关于函数的return li = [11,22,33,44] def f1(arg): arg.append(55) li = f1(li) print(li) 因为li = f1(li) 实际赋值的 ...
- Python函数篇:装饰器
装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理. ...
- 函数基础(三) 装饰器\闭包 day 12
目录 昨日回顾 可变长参数 * ** 函数对象 函数嵌套 名称空间和作用域 今日内容 闭包函数 装饰器 语法糖 装饰器模板 迭代器 昨日回顾 可变长参数 * *形参:接受多余的位置实参 *实参(可迭代 ...
- python基础之函数当中的装饰器
在实际工作当中存在一个开放封闭原则 1.对扩展是开放的 为什么要对扩展开放呢? 我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改.所以我们必须允许代码扩展.添加新 ...
- 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数
[源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...
- Django视图函数函数之视图装饰器
FBV模式装饰器: 普通函数的装饰器(语法糖@) views.py from django.shortcuts import render def wrapper(f): def inner(*arg ...
- 装饰器&偏函数与作用域与异常处理与文件读写
装饰器 概念:是一个闭包,把一个函数当做参数返回一个替代版的函数,本质上就是一个返回函数的函数 简单的装饰器 def func1(): print("sunck is a good man& ...
随机推荐
- LOJ数列分块入门九题(中)
#6281. 数列分块入门 5 - 题目 - LibreOJ (loj.ac) 区间开方,区间求和题. 显然,针对区间维护开方操作很难做到,于是考虑其值的性质,显然,int范围内的值最多开方6次就会变 ...
- 各种系统名词解释:MIS 、ERP、CRM、OA
MIS :信息系统.针对企业使用的软件,都可以叫做MIS系统. (管理信息系统--Management Information System)系统 ,是一个由人.计算机及其他外围设备等组成的能进行信息 ...
- java的死锁与解决方法
一.什么是死锁? 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无限等待. 二.产生死锁的原因与四个条件 2.1 死锁原因 竞争资 ...
- TCP idle timeout 和TCP Keepalive 比较和分析
TCP idle timeout 和TCP Keepalive 是两个独立的功能. TCP idle timeout TCP idle timeout 是系统TCP配置文件中的空闲超时设 ...
- 量子图形加密算法的MATLAB代码实现
一.概述 目前主流的量子图形加密算法有量子像素编码算法(Quantum Image Pixel Encoding,QIPE).量子像素置乱算法(Quantum Image Pixel Scrambli ...
- Java数据脱敏(手机号|邮箱号|身份证号|银行卡号)
参考博客:https://blog.csdn.net/ywb201314/article/details/107762279
- 分库分表ShardingJDBC最佳实践
1 添加依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId> ...
- smart rtmpd 服务器配置文件说明及优化方法介绍
---------------------------------------------------------------------------------------------------- ...
- day09-拦截器&文件上传
拦截器&文件上传 1.拦截器-Interceptor 1.1拦截器概念 拦截器 拦截器(Interceptor):是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行. ...
- 深入理解 Python 虚拟机:字典(dict)的实现原理及源码剖析
深入理解 Python 虚拟机:字典(dict)的实现原理及源码剖析 在本篇文章当中主要给大家深入介绍一下在 cpython 当中字典的实现原理,在本篇文章当中主要介绍在早期 python3 当中的版 ...