Python中有哪些模板函数
今天就跟大家聊聊有关Python中有哪些模板函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
在函数式编程里面, 我们可以定义匿名函数,也可以把函数赋值给一个变量或作为参数传递给另外一个函数,Python语言很早就支持函数式编程,我们可以用lambda关键字定义一个匿名函数,然后赋值给一个变量,如下所示:
from string import strip,upper #functions: # def map_add(x): return x+3 # if __name__=='__map_add__': map_add(x) #zip file def zip_file(): #open file f = open('map.txt') lines = f.readlines() print lines f.close() # print 'BEFORE\n' for eachline in lines: print '[%s]' % eachline[:-1] # print 'AFTER\n' for eachline in map(upper, map(strip, lines)): print '[%s]' % eachline # if __name__=='__zip_file__': zip_file()
lambda定义的匿名函数可以引用外围函数的变量,上面的代码中,第二个lambda表达式定义的匿名函数引用了***个匿名函数的参数n,因为***个匿名函数是第二个匿名函数的外围函数。
除了lambda表达式之外,Python模板函数还支持将函数作为参数传递给另外一个函数,有点类似于C语言中的函数指针,Python语言内建的函数filter,map,reduce就可以接受函数参数。
filter(function, sequence)会遍历sequence中的每一个item,并以该item为参数调用function,如果function返回ture,就将该item加到结果sequence中,这就达到过滤sequence的效果,作为参数的function就是过滤的条件,例子如下:
>>>reduce(lambda x,y:x*y, [1,2,3,4,5]#((((1*2)*3)*4)*5 >>>120 >>>reduce(lambda x,y:x*y, [1,2,3], 10) >>>60 #((1*2)*3)*10
这里用lambda定义的匿名函数来定义过滤条件,在list a中返回是偶数的items,下面这个模块以一个现有的文本为参数,清除多余空格,再把所有文字都转换为大写(英文)。为子演示程序要创建一个map.txt该文件中有几行前后有多余空格的字符串。
看完上述内容,你们对Python中有哪些模板函数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341