• python中的函数编程


    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
  • 相关阅读:
    随机数、无重复、冒泡排序
    今天是星期几
    Button
    2012/8/5为应用指定多个配置文件
    2012/8/4解决JSP显示中文乱码
    2012/8/4 struts2学习笔记
    2012/8/4Action中result的各种转发类型
    2012/8/4为Action属性注入值
    2012/8/3SVN小入门
    2012/8/3 Extjs使用TabPanel时需要注意的问题
  • 原文地址:https://www.cnblogs.com/sislcb/p/1288998.html
Copyright © 2020-2023  润新知