zoukankan      html  css  js  c++  java
  • python 高阶函数

    变量可以指向函数:
    
    以Python 内置的求绝对值的函数abs()为例,调用该函数用以下代码:
    
    >>> abs(-10)   
    10
    >>> abs
    <built-in function abs>
    
    可见,abs(-10)是函数调用,而abs是函数本身
    
    
    要获得函数调用结果,我们可以把结果赋值给变量:
    
    >>> x=abs(-10)
    >>> x
    10
    
    
    但是,如果把函数赋值给变量呢?
    
    >>> f=abs
    >>> f
    <built-in function abs>
    >>> f(-10)
    10
    
    函数名也是变量:
    
    
    
    传入函数:
    
    既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,
    
    
    这种函数就称之为高阶函数。
    
    一个简单的高阶函数:
    
    def add(x, y, f):
        return f(x) + f(y)
    x=5
    y=6
    def f(a):
        return a+10
    print add(x,y,f)
    
    Python 内建了map()和reduce()函数:
    
    
    
    
    我们先看map,map()函数接收两个参数,一个函数,一个序列,map将传入的函数因此作用到序列的每个元素,并把
    
    结果作为新的list返回。
    
    def f(x):
        return x+1
    
    print map(f,[1,2,3,4,5])
    
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/a6.py
    [2, 3, 4, 5, 6]
    
    
    再看reduce的用法,reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,
    

  • 相关阅读:
    Linux date自己实现代码
    Linux常用指令
    awk getline命令
    文档资料记录
    数学之美番外篇:平凡而又神奇的贝叶斯方法
    最小二乘法(ZZ)
    SpringMVC简单使用教程
    Oracle设置序列方法
    Bootstrap Table的使用详解
    Html中div块居中显示
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349451.html
Copyright © 2011-2022 走看看