《Python数据科学指南》——1.13 将函数作为参数传递

    xiaoxiao2024-03-15  127

    本节书摘来自异步社区《Python数据科学指南》一书中的第1章,第1.13节,作者[印度] Gopi Subramanian ,方延风 刘丹 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.13 将函数作为参数传递

    Python支持高阶函数功能:将一个函数作为另一个函数的参数传递。

    1.13.1 准备工作

    我们将前面一个例子中的函数square_input ()重写,以此演示一个函数是如何被作为另一个函数的参数进行传递。

    1.13.2 操作方法

    请看如何将一个函数作为另一个函数的参数进行传递。

    from math import log def square_input(x): return x*x # 1.定义一个类函数,它将另外一个函数作为输入 # 并将它应用到给定的输入序列上。 def apply_func(func_x,input_x): return map(func_x,input_x) # 2.这里使用apply_func()函数,并校验结果 a = [2,3,4] print apply_func(square_input,a) print apply_func(log,a)

    1.13.3 工作原理

    我们在第1步中定义了函数apply_func,它有两个变量参数,第1个是一个函数,第2个是一个序列。我们使用了map函数(后续章节将介绍)将给定的函数应用到序列中的所有元素。

    接着,我们在列表上调用apply_func,先是square_input函数,然后是log函数,输出的结果如下。

    [4, 9, 16]

    你会发现,所有的列表元素都被求出了平方值,map函数将square_input函数应用到序列里的所有元素上。

    [0.69314718055994529, 1.0986122886681098, 1.3862943611198906]

    同样地,log函数也被应用到序列里的所有元素上。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)