python 高阶函数有哪些

1、高阶函数

变量可以指向函数,函数的参数可以接收变量,那么函数可以接收另一个函数作为参数,这种函数称为高阶函数。

(1)把函数作为实参

(2)把函数作为返回值

f8c20c9dce24b3c021f5fe408914447.png

2、系统的内置高阶函数

(1)map函数:接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并且把结果作为新的列表返回

b91bee5018c1a0094fd8f436191bc63.png

(2)reduce函数:把一个函数作用到一个序列上,这个函数必须接收两个参数,reduce把结果和序列的下一个元素做累积计算

5d3e0e0935ae2fc87f53f9f32f9fb92.png

(3)filter函数:也接收一个函数和一个序列,和map函数不同的是,filter函数把传入的函数依次作用于每个元素,然后返回返回值是True的元素

2f252d1af09da34c109e452f2976de1.png

(4)sorted函数:排序函数

把用户名按照首字母不区分大小写排序

985fa25018ee8410d41fe2e192ce89f.png

(5)sorted()函数按照关键字排序

关键字:商品个数

b4ba242742f34ee2fd07c39456d9a4c.png(6)sorted()函数按照关键字排序,用键值来查找

9cb2a7c43028f53276902d444185abf.png

(7)lambda匿名函数:有时候传参数时不需要显示自定义的函数,直接传入匿名函数更方便;冒号前面的x,y表示函数参数,匿名函数不需要担心函数名的冲突,匿名函数也是一个函数对象,可以把匿名函数赋值给一个变量,再利用变量来调用函数,匿名函数也可以作为返回值返回

7b500a3ac15b2803510016e856d2633.png

3、高阶函数的应用:

(1)sorted函数:

18c9c785df58d3a7d99fb42c3ebd4dd.png

(2)sorted函数默认是从小到大排序

76ffc6e7f9a2c03b11e17c25d1a6175.png

4、装饰器

装饰器就是用来装饰函数的:想要增加原有函数的功能,但是不希望修改原有函数的定义,在代码运行期间动态增加功能的方式

(1)此装饰器的功能:计算函数的运行时间

import functools  

@functools.wraps(f)   ##保留原有函数的属性

497d670dfb96e51b01adc093a181479.png

89eacfd2c2de75253049eef0962f921.png

运行结果:

800c8f926f4eca85ec255314b7bcba3.png

(2)此装饰器的功能:用户登录认证

d66b2a1179cefe8c1b1a16fef9ae07d.png

运行结果:

48f402aceaa4e013dc81f06dc273ace.png

(3)此装饰器的功能:认证用户的同时,显示用户的转账金额

import inspect

inspect.getcallargs()将传的参数封装为一个字典,字典的key值是形式参数,value值是实参

ab5376be8eeeca36e181e82763105f0.png

(4)此装饰器的功能:确保收到的每个参数都是整数,是整数就求和,否则抛出错误

c309af986b46ac95405ea7ec36539ba.png

2587b0506d30217dfcc20196acb7f73.png

(5)此装饰器的功能:给装饰器传参数,是整数和浮点数就求和

9749ca8bfed43657482b0137f980f16.png

51f1049e1a9704965f2b898a302577e.png

云海天教程网,大量的免费python教程,欢迎在线学习!

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python 高阶函数有哪些