12-python_函数-Lambda

Lambda函数

1. 匿名函数

   -Lambda函数 是 一种快速定义单行的最小函数
   -从Lisp借来的, 可以用在任何需要函数的地方

2. 引入

    >>> def f(x,y):
    ...     return x+y
    ...
    >>> f(1,2)
    3
    >>> g = lambda x,y : x+y
    >>> g(1,2)
    3

3. 好处

   -使用python写执行脚本时, 可以省去定义定义函数的过程
   -对于只使用一次的函数, 不需要考虑函数名
   -在某些时候, 代码更容易理解

4. lambda基础


 4.1 语法
    lambda 参数列表 : 返回值

 4.2 说明
    - 参数列表  :  arg1, arg2, ...
    - 返回值    :  表达式

 4.3 应用 - 求和,求阶乘

  4.3.1 reduce
    >>> help(reduce)
    reduce(...)
        reduce(function, sequence[, initial]) -> value
  
  4.3.2 求和, 求阶乘
----------------------------------------------------------------
    def getSum(maxNum) :
        result = reduce( lambda x,y : x+y , range( 1 , (maxNum+1) ) )
        print "1 + 2 + ... +", maxNum, "=", result

    def getFactorial(num) :
        result = reduce( lambda x,y : x*y , range( 1, (num+1) ) )
        print "1 * 2 * ... *", num, "=", result

    getSum(10)
    getFactorial(5) 

---------   output  ----------------------------------------
    1 + 2 + ... + 10 = 55
    1 * 2 * ... * 5 = 120
----------------------------------------------------------------

你可能感兴趣的:(函数,python,lambda)