Chinaunix首页 | 论坛 | 博客
  • 博客访问: 819732
  • 博文数量: 97
  • 博客积分: 3042
  • 博客等级: 中校
  • 技术积分: 1610
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-21 11:48
文章存档

2015年(1)

2014年(3)

2013年(4)

2012年(43)

2011年(44)

2010年(2)

分类: LINUX

2011-11-20 18:41:03

python提供了内联模块buidin,该模块定义了一些软件开发中常用的函数,这些函数实现了数据类型的转换, 数据的计算, 序列的处理等功能。 下面介绍内联模块中常用的四个内联函数。
(1)apply()
功能: apply()是实现调用可变参数列表的函数,把参数列表存放在一个元组或者列表中.
声明格式:
apply(func, [argc[, kwargs]])
说明:
     (1)func是自定义的函数名称。
     (2)参数argc是一个自定义的函数参数的列表或者元组,若argc被省略则表示被执行的函数没有任何参数
     (3)参数kwargs是一个字典,字典的key值是参数的参数名称,value是实际的参数值。
     (4)apply的返回值就是func的返回值
应用举例:
        #定义了sun,并定义了形式参数
        def sum(x=1, y=2):
           return x + y
 
        #通过调用sum输出为4
        print apply(sum, (1, 3))
(2)filter()
功能:filter()可以对某个序列做过滤处理,对自定义的函数返回的结果是否为”真“,来过滤,并一次性返回处理结果。
声明格式:
filter(func or None, sequence) -->list, tuple, or string
说明:
     (1)参func数是自定义的过滤函数,在函数func中定义过滤的规则。如果func为None,则表示过滤项全部为真,返回所有的序列元素。
     (2)参数sequence为待处理的序列。
     (3)filter()返回的是由func()的返回值组成的序列,返回的类型和参数sequence的类型相同。
应用举例:
         演示filter()的过滤功能,从给定的列表中过滤出大于零的数。
         def func(x):
            if x > 0:
               return x
 
         print filter(func, range(-9, 10))
注意:filter()中过滤函数func的参数不能为空,否则, 没有可以存储sequence元素的变量,func()也不能处理过滤。
 
(3)reduce()
功能:对序列中元素的连续操作可以通过循环来实现,reduce也可以实现连续处理的功能。
声明格式:
reduce(func, sequence[, initial])--> value
说明:
     (1)参数func是自定义的函数,在函数func中实现对sequence的连续操作。
     (2)参数sequence为待处理的序列。
     (3)参数initial可以省略,如果initial不为空,则initial的值首先传入func进行计算,如果initial的值为空,则对initial的值进行处理。
     (4)reduce的返回值是func的返回值。
应用举例:实现对一个列表中数字进行累加的操作。
        def sum(x, y):
           return x + y
        #对0+1+2+...+9进行计算,输出结果: 45
        print reduce(sum, range(0, 10))
        #对10 +0+1+2+3+...+9进行计算, 输出结果:55
        print reduce(sum, range(0, 10), 10)
注意:如果对reduce()进行累计计算,必须在sum中定义两个参数,分别对应加法运算两侧的操作数。
(4)map()
功能:map()的功能非常强大,可以对每个序列的每个元素执行相同的操作,并组程序列表返回。
声明格式:
map(func, sequence[, sequence]) --> list
说明:
     (1)参数func是自定义的函数,实现对序列每个元素的操作
     (2)参数sequence为待处理的函数,参数sequence的个数可以是多个
     (3)map的返回值是处理后的列表
应用举例:
         #实现参数x 的幂运算
         def power(x):
             return x ** x
         #把1,2, 3, 4依次传入power中,计算结果组成一个列表返回,输出结果:[1, 4, 27, 256]
         print map(power range(1, 5))
         def power2(x, y):
             return x ** y
         #计算1^4, 2^4, 3^3, 4^2计算后的结果返回一个列表,输出结果:[1, 16, 27,16]
         print map(power2, range(1, 5), range(5, 1, -1))
 
注意:如果map中提供多个序列,则每个元素意义对应进行计算,若每个序列对应的长度不同,则短的序列后补充”None“,再进行计算。
阅读(1550) | 评论(0) | 转发(0) |
0

上一篇:python中的模块

下一篇:python中的文件操作

给主人留下些什么吧!~~