温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中有哪些模板函数

发布时间:2021-07-05 16:28:29 来源:亿速云 阅读:201 作者:Leah 栏目:编程语言

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI