python之函数详解(补)
2020-03-28 20:07
162 查看
不是已经写了一篇关于函数的了吗?为什么还有一篇补的呢? 相信看过前一篇函数详解的知道,有一张关于函数导图的图片,还有好几个知识没有说明,如果全部写一篇文章发表的呢,篇幅很长,影响学习兴趣!话不多说,码就完了!!!
1.3、高阶函数:变量指向函数,函数的参数能够接收变量,那么一个函数就可以接受另一个函数作为参数,这种函数就成为高阶函数。
两个特点:变量可以指向函数;函数名其实就是指向函数的变量。
1.3.1、map()函数:map()函数接收两个函数,一个是函数,另一个是iterable。语法格式为:
map(func,sep1[,sep2,……])
第一个参数func接收一个函数名,后面的参数接收一个或多个可迭代的序列,返回一个集合
def f(x): return x * x r_map = map(f,[1,2,3,4])#运用map函数,将f(x)作为参数 list(r_map) #简单理解为map函数将func后的序列依次传入func中,然后赋值给r_amp。
1.3.2、sorted函数:可对所有可迭代的对象进行排序操作,语法格式为:
sorted(iterable,key=None,reverse=False)#iterable为可迭代对象 #key为指定的函数;reverse指代排序规则,为True表降序,False表升序(默认)
sort()与sorted的区别:sort仅应用在list上,是对已经存在的列表操作;sorted可以对所有可迭代的对象进行操作,返回一个新的list,而不是在原有基础上操作。
#sort与sorted的区别 L = [1,9,3,7,5] K = [8,4,6,0,2] print(sorted(L))#使用sorted函数排序得到一个新的list print(L)#sorted函数并未改变L K.sort()#sort函数作用于list print(K)#K本身已经改变 2 #sorted运用实例 #对字符串序列按照字母进行反向排序 sorted(['Tom','Kate','Lily','susan'],key = str.lower,reverse=True) #对字符串序列按照字母顺序进行排序 sorted(['Tom','Kate','Lily','susan'],key = str.upper)
1.3.3、filter函数:用于过滤序列。filter把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。ps:高阶函数有很多,就不一一列举啦!!
#过滤出1-100中平方根为整数的数 import math def sqr_int(x): return math.sqrt(x) % 1 == 0 r_list = filter(sqr_int,range(1,101)) list(r_list)
1.4、匿名函数:由于突然发现python对匿名函数支持有限,匿名函数只在一般情况下使用,所以就简略的叙述下。
所谓匿名,就是不使用def语句,而使用lambda。需要注意的是lambda的主体是一个人表达式而不是一个代码块。它拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数
#语法 lambda [arg1 [,arg2,……srgn]]:expression #定义一个参数,返回它的平方 f = lambda a: a *a f(5) #运行结果 25
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python open()函数用法详解
- Python函数定义及传参方式详解(4种)
- python文档字符串(函数使用说明)使用详解
- Python中高阶函数如何使用操作?高阶函数详解!
- Python中的zip()与*zip()函数详解
- 010 python函数参数的详解
- python函数动态参数详解
- python常用函数详解
- 详解Python中where()函数的用法
- python中函数传参详解
- 对Python函数设计规范详解
- Python中的getattr()函数详解
- 对Python 内建函数和保留字详解
- Python学习之高级函数详解
- LR识别垃圾短信,详解python函数
- Python的hasattr() getattr() setattr() 函数使用方法详解
- Python基础之函数用法实例详解
- Python sort sorted函数详解
- python中的map()函数详解
- Python学习之函数以及函数式编程详解