zoukankan      html  css  js  c++  java
  • Python——高阶函数概念(Higher-order function)

    1、变量可以指向函数

    以内置的求绝对值abs()函数为例,:

    >>> abs(-12)
    12
    >>> abs
    <built-in function abs>
    >>> m = abs
    >>> m
    <built-in function abs>
    >>> m(-12)
    1

    可知,函数本身可以赋值给变量,即:变量指向函数。此时,我们可以通过变量来调用这个函数!

    2、函数名其实也是变量

    >>> abs = 10
    >>> abs(-10)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'int' object is not callable

    当abs指向10的时候,就无法通过abs(-10)调用该函数了。因为函数名其实就是一个指向函数的变量!abs这个变量已经指向一个整数-10!要恢复abs的原始功能,就要重启python的交互环境了。

    3、高阶函数

    既然变量可以指向函数,而函数的参数又能接收变量,那么一个函数就可以接收另外一个函数作为参数。这样的函数就是高阶函数。简单举例:

    >>> def add(x,y,f):
    ...     return f(x)+f(y)
    ...
    >>> add(6,7,abs)
    13

    推导过程如下:

    x = 6
    y = 7
    f = abs
    f(x) + f(y) ==> abs(6) + abs(7) ==> 11
    return 13
  • 相关阅读:
    离线下载使用Google商店插件crx
    springboot thymeleaf 引入js
    如何保证系统重启,tomcat自动重启
    如何实现财务自由
    理财之道
    九大职场定律
    算法系列二:如何学习算法
    FastDFS结合Flask使用
    系统权限的实现
    正则表达式
  • 原文地址:https://www.cnblogs.com/hiwuchong/p/8074179.html
Copyright © 2011-2022 走看看