注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

互联网产品经理的窝

梦想社:一个人为了梦想,始终没有停下自己的脚步

 
 
 

日志

 
 

python中的函数编程  

2013-05-22 21:05:40|  分类: python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、 Lambda 形式

通过lambda关键字,可以创建很小的匿名函数。这里有一个函数返回它的两个参数的和:“lambda a, b: a+b”。 Lambda 形式可以用于任何需要的函数对象。出于语法限制,它们只能有一个单独的表达式。语义上讲,它们只是普通函数定义中的一个语法技巧。

Code
>>> def make_incrementor(n):
return lambda x: x + n
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43

 

 2、apply

简化函数调用。将list或者dict传递给函数的参数。

apply(模块.函数名,(参数1,参数2,。。。))

apply(模块.函数名,(),{"参数1“:值1;”参数2“:值2})
 
Code
>>> def Fun(a, b):
print a, b
>>>a = ("1", "2")
>>>Fun(a[0], a[1])

//使用apply函数后,变为
>>> apply(Fun, a)

 

3、 filter()函数

filter(function, sequence),过滤函数,只有符合function中规定内容的序列,才会被留下,其他被过滤。

如:

Code
>>> def f(x): return x % 2 != 0 and x % 3 != 0
>>> filter(f, range(2, 25))
[
5, 7, 11, 13, 17, 19, 23]

 

4、 map()函数

map(function, sequence),对于sequence中的每个元素,调用function进行处理,返回值为list类型。不过好像现在用list推导式,已经可以实现了吧。

Code
>>> def cube(x): return x*x*x
>>> map(cube, range(1, 11))
[
1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

 

5 、  reduce()函数

reduce(func, sequence),reduce 函数可以按照给定的方法把输入参数中上序列缩减为单个的值,首先以序列的前两个元素调用函数,再以返回值跟第三个参数调用。依次执行,最后就剩下一个值了。

Code
>>> def add(x,y): return x+y
>>> reduce(add, range(1, 11))
55
  评论这张
 
阅读(286)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017