【Python】进阶

来源:互联网 发布:淘宝美工最低要求 编辑:程序博客网 时间:2024/05/22 00:42

Python函数式编程

变量可以指向函数,函数名其实就是指向函数的变量
高阶函数:能够接收函数做参数的函数

这里写图片描述

高阶函数

Map函数

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

这里写图片描述

Reduce()函数

这里写图片描述

这里写图片描述

filter()函数

filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

这里写图片描述

这里写图片描述

sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。

这里写图片描述

返回函数

这里写图片描述

闭包

这里写图片描述

像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。

闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。

这里写图片描述

匿名函数

高阶函数可以接收函数做参数,有些时候,我们不需要显式地定义函数,直接传入匿名函数更方便。

这里写图片描述

关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。
匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。

装饰器

这里写图片描述

这里写图片描述

这里写图片描述

0 0
原创粉丝点击