课程学习记录之 python高阶函数小计
作者:互联网
前言
还是自己一个网上课程的学习记录了。
定义
课程中给出的定义是:可以接收函数作为参数的函数。
自己附带的查了下可能还有一个情况,这里主要了解课程中定义即可。
接着课程给出了几个例子来说明。
sorted函数
- 作用:对所有可迭代对象进行排序,返回排好序的列表
- 用法:sorted(iterable,camp=None,key=None,reverse=False)
这些函数的具体使用其他的地方都可以查到,我就只说一下自己使用时的体会和理解了。
因为是高级函数,所以可以接收函数参数,课程提到的是key这个参数。key默认是None,可以接收一个函数,接收的函数用来处理itrable里的元素,并得到一个值,而这个值就是用来排序的值。
比如,我有一个列表L,里面都是字符串,此时我想按照第三字符排序,我可以先写一个函数f1获取一个字符串的第三个字符,然后用sorted(L,key=f1)即可实现排序。这里的key又常用匿名函数实现
filter
- 对序列进行过滤,返回一个filter对象
- filter(a,b),a为函数,b为被处理的数据列表,a会对b中每个元素进行判断,结果为真保留,否舍弃。
map
- 处理可迭代对象的每一个元素,返回一个map对象
- map(a,b),a为函数用来处理b参数的每一个元素
匿名函数lambda
- 没有函数名
- 构成:只有参数和返回值,lambda 关键字后面的 x 是参数,冒号后面是返回值
- 通常用作高阶函数的参数,也就是需要传入一个函数作为参数,并且这个函数只在这一个地方使用的情况下,匿名函数一般会作为一个参数传递。它的好处是没有函数名,可以避免变量冲突,限制是只能有一个表达式。
课程最后还介绍了列表解析、字典解析和元组拆包的使用。
现在看来,网上这个课程也快到最后了,有些东西怎么说就是需要自己去实践和使用才能有更好的体会,先记录一点吧。如果有机会去使用在去记录自己使用的心得。
标签:函数,python,小计,一个,课程,参数,key,排序,高阶 来源: https://blog.51cto.com/ytdsxushu/2686177