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中有哪些模板函数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


当前名称:Python中有哪些模板函数
本文地址:http://pwwzsj.com/article/jcoggs.html